From 307a1cb029fb3f31ba19b555bc57b4655f6378af Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Mon, 5 Oct 2020 22:49:35 +0600 Subject: [PATCH 01/89] Add Initial Modeling with Through Model and Data Migration for RemoteRepository Model --- .../0011_add_remote_relation_model.py | 48 ++++++++++++++++++ ...012_add_fields_to_remote_relation_model.py | 49 +++++++++++++++++++ ...ata_migration_for_remote_relation_model.py | 49 +++++++++++++++++++ ...move_field_from_remote_repository_model.py | 29 +++++++++++ readthedocs/oauth/models.py | 47 +++++++++++++----- 5 files changed, 209 insertions(+), 13 deletions(-) create mode 100644 readthedocs/oauth/migrations/0011_add_remote_relation_model.py create mode 100644 readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py create mode 100644 readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py create mode 100644 readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py new file mode 100644 index 00000000000..f2241be8062 --- /dev/null +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -0,0 +1,48 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:10 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('oauth', '0010_index_full_name'), + ] + + operations = [ + migrations.SeparateDatabaseAndState( + state_operations=[ + migrations.CreateModel( + name='RemoteRelation', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ], + options={ + 'db_table': 'oauth_remoterepository_users', + }, + ), + migrations.AlterField( + model_name='remoterepository', + name='users', + field=models.ManyToManyField(related_name='oauth_repositories', through='oauth.RemoteRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users'), + ), + migrations.AddField( + model_name='remoterelation', + name='remoterepository', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to='oauth.RemoteRepository'), + ), + migrations.AddField( + model_name='remoterelation', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to=settings.AUTH_USER_MODEL), + ), + migrations.AlterUniqueTogether( + name='remoterelation', + unique_together={('remoterepository', 'user')}, + ), + ] + ) + ] diff --git a/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py b/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py new file mode 100644 index 00000000000..144830c3cf4 --- /dev/null +++ b/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py @@ -0,0 +1,49 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:13 + +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import jsonfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('socialaccount', '0003_extra_data_default_dict'), + ('oauth', '0011_add_remote_relation_model'), + ] + + operations = [ + migrations.AddField( + model_name='remoterelation', + name='account', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remote_relations', to='socialaccount.SocialAccount', verbose_name='Connected account'), + ), + migrations.AddField( + model_name='remoterelation', + name='active', + field=models.BooleanField(default=False, verbose_name='Active'), + ), + migrations.AddField( + model_name='remoterelation', + name='admin', + field=models.BooleanField(default=False, verbose_name='Has admin privilege'), + ), + migrations.AddField( + model_name='remoterelation', + name='json', + field=jsonfield.fields.JSONField(default=dict, verbose_name='Serialized API response'), + preserve_default=False, + ), + migrations.AddField( + model_name='remoterelation', + name='modified_date', + field=models.DateTimeField(auto_now=True, verbose_name='Modified date'), + ), + migrations.AddField( + model_name='remoterelation', + name='pub_date', + field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='Publication date'), + preserve_default=False, + ), + ] diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py new file mode 100644 index 00000000000..193df09338f --- /dev/null +++ b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py @@ -0,0 +1,49 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:15 + +import json +from itertools import islice + +from django.db import migrations + + +def move_data_to_remote_relations(apps, schema_editor): + RemoteRelation = apps.get_model('oauth', 'RemoteRelation') + + def remote_relations_generator(relations): + for relation in relations: + relation.account = relation.remoterepository.account + relation.active = relation.remoterepository.active + relation.admin = relation.remoterepository.admin + relation.pub_date = relation.remoterepository.pub_date + try: + relation.json = json.loads(relation.remoterepository.json) + except json.decoder.JSONDecodeError: + pass + + yield relation + + relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') + remote_relations = remote_relations_generator(relations_queryset) + batch_size = 5000 + + while True: + batch = list(islice(remote_relations, batch_size)) + + if not batch: + break + RemoteRelation.objects.bulk_update( + batch, + ['account', 'active', 'admin', 'pub_date', 'json'], + batch_size + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ('oauth', '0012_add_fields_to_remote_relation_model'), + ] + + operations = [ + migrations.RunPython(move_data_to_remote_relations), + ] diff --git a/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py b/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py new file mode 100644 index 00000000000..0e9082cbe97 --- /dev/null +++ b/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py @@ -0,0 +1,29 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:18 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('oauth', '0013_data_migration_for_remote_relation_model'), + ] + + operations = [ + migrations.RemoveField( + model_name='remoterepository', + name='account', + ), + migrations.RemoveField( + model_name='remoterepository', + name='active', + ), + migrations.RemoveField( + model_name='remoterepository', + name='admin', + ), + migrations.RemoveField( + model_name='remoterepository', + name='json', + ), + ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 027e7e5d634..72387b3fd79 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -11,6 +11,7 @@ from django.db.models import Q from django.urls import reverse from django.utils.translation import ugettext_lazy as _ +from jsonfield import JSONField from readthedocs.projects.constants import REPO_CHOICES from readthedocs.projects.models import Project @@ -90,14 +91,7 @@ class RemoteRepository(models.Model): User, verbose_name=_('Users'), related_name='oauth_repositories', - ) - account = models.ForeignKey( - SocialAccount, - verbose_name=_('Connected account'), - related_name='remote_repositories', - null=True, - blank=True, - on_delete=models.CASCADE, + through='RemoteRelation' ) organization = models.ForeignKey( RemoteOrganization, @@ -107,8 +101,6 @@ class RemoteRepository(models.Model): blank=True, on_delete=models.CASCADE, ) - active = models.BooleanField(_('Active'), default=False) - project = models.OneToOneField( Project, on_delete=models.SET_NULL, @@ -151,7 +143,6 @@ class RemoteRepository(models.Model): html_url = models.URLField(_('HTML URL'), null=True, blank=True) private = models.BooleanField(_('Private repository'), default=False) - admin = models.BooleanField(_('Has admin privilege'), default=False) vcs = models.CharField( _('vcs'), max_length=200, @@ -159,8 +150,6 @@ class RemoteRepository(models.Model): choices=REPO_CHOICES, ) - json = models.TextField(_('Serialized API response')) - objects = RemoteRepositoryQuerySet.as_manager() class Meta: @@ -206,3 +195,35 @@ def matches(self, user): }, ), } for project in projects] + + +class RemoteRelation(models.Model): + remoterepository = models.ForeignKey( + RemoteRepository, + related_name='remote_relations', + on_delete=models.CASCADE + ) + user = models.ForeignKey( + User, + related_name='remote_relations', + on_delete=models.CASCADE + ) + account = models.ForeignKey( + SocialAccount, + verbose_name=_('Connected account'), + related_name='remote_relations', + null=True, + blank=True, + on_delete=models.SET_NULL, + ) + active = models.BooleanField(_('Active'), default=False) + admin = models.BooleanField(_('Has admin privilege'), default=False) + json = JSONField(_('Serialized API response')) + + pub_date = models.DateTimeField(_('Publication date'), auto_now_add=True) + modified_date = models.DateTimeField(_('Modified date'), auto_now=True) + + class Meta: + # Use the existing auto generated table for ManyToMany relations + db_table = 'oauth_remoterepository_users' + unique_together = (('remoterepository', 'user'),) From 7bd1a5fea6638d24713d732e53732436f4e6cec8 Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Wed, 7 Oct 2020 10:50:26 +0600 Subject: [PATCH 02/89] Improve data migration performance --- .../0013_data_migration_for_remote_relation_model.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py index 193df09338f..d16bca87924 100644 --- a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py @@ -9,9 +9,9 @@ def move_data_to_remote_relations(apps, schema_editor): RemoteRelation = apps.get_model('oauth', 'RemoteRelation') - def remote_relations_generator(relations): - for relation in relations: - relation.account = relation.remoterepository.account + def remote_relations_generator(relations, batch_size): + for relation in relations.iterator(chunk_size=batch_size): + relation.account_id = relation.remoterepository.account_id relation.active = relation.remoterepository.active relation.admin = relation.remoterepository.admin relation.pub_date = relation.remoterepository.pub_date @@ -22,9 +22,9 @@ def remote_relations_generator(relations): yield relation - relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') - remote_relations = remote_relations_generator(relations_queryset) batch_size = 5000 + relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') + remote_relations = remote_relations_generator(relations_queryset, batch_size) while True: batch = list(islice(remote_relations, batch_size)) @@ -33,7 +33,7 @@ def remote_relations_generator(relations): break RemoteRelation.objects.bulk_update( batch, - ['account', 'active', 'admin', 'pub_date', 'json'], + ['account_id', 'active', 'admin', 'pub_date', 'json'], batch_size ) From 9476a36db1d182b6860b646a66a5ddaaf310ef75 Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Sat, 10 Oct 2020 20:27:50 +0600 Subject: [PATCH 03/89] Logging, performance optimization for data migration --- ...ata_migration_for_remote_relation_model.py | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py index d16bca87924..05928a1b36b 100644 --- a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py @@ -1,11 +1,15 @@ # Generated by Django 2.2.16 on 2020-10-05 06:15 -import json from itertools import islice +import json +import logging from django.db import migrations +log = logging.getLogger(__name__) + + def move_data_to_remote_relations(apps, schema_editor): RemoteRelation = apps.get_model('oauth', 'RemoteRelation') @@ -18,19 +22,35 @@ def remote_relations_generator(relations, batch_size): try: relation.json = json.loads(relation.remoterepository.json) except json.decoder.JSONDecodeError: - pass + log.warning( + 'Could not migrate json data for remote_repository=%s', + relation.remoterepository_id + ) yield relation + relations_queryset = RemoteRelation.objects.all().select_related( + 'remoterepository' + ).only( + 'account_id', 'active', 'admin', + 'pub_date', 'json', 'remoterepository__account_id', + 'remoterepository__active', 'remoterepository__admin', + 'remoterepository__pub_date', 'remoterepository__json' + ) + batch_size = 5000 - relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') - remote_relations = remote_relations_generator(relations_queryset, batch_size) + remote_relations = remote_relations_generator( + relations_queryset, batch_size + ) + # Follows Example from django docs + # https://docs.djangoproject.com/en/2.2/ref/models/querysets/#bulk-create while True: batch = list(islice(remote_relations, batch_size)) if not batch: break + RemoteRelation.objects.bulk_update( batch, ['account_id', 'active', 'admin', 'pub_date', 'json'], From 1bd03c77d4d744b03484979a3b7e751b110622d6 Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Sat, 10 Oct 2020 21:45:31 +0600 Subject: [PATCH 04/89] Use TimeStampedModel model and follow django docs for migrating through model --- .../0011_add_remote_relation_model.py | 116 +++++++++++++++--- ...012_add_fields_to_remote_relation_model.py | 49 -------- ...ta_migration_for_remote_relation_model.py} | 21 ++-- ...ove_field_from_remote_repository_model.py} | 4 +- readthedocs/oauth/models.py | 11 +- 5 files changed, 118 insertions(+), 83 deletions(-) delete mode 100644 readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py rename readthedocs/oauth/migrations/{0013_data_migration_for_remote_relation_model.py => 0012_data_migration_for_remote_relation_model.py} (73%) rename readthedocs/oauth/migrations/{0014_remove_field_from_remote_repository_model.py => 0013_remove_field_from_remote_repository_model.py} (83%) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index f2241be8062..562bbb4fc11 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -1,9 +1,12 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:10 +# Generated by Django 2.2.16 on 2020-10-10 14:55 from django.conf import settings from django.db import migrations, models import django.db.models.deletion +import django_extensions.db.fields +import jsonfield.fields + class Migration(migrations.Migration): @@ -14,35 +17,112 @@ class Migration(migrations.Migration): operations = [ migrations.SeparateDatabaseAndState( + database_operations=[ + migrations.RunSQL( + sql='ALTER TABLE oauth_remoterepository_users RENAME TO oauth_remoterelation', + reverse_sql='ALTER TABLE oauth_remoterelation RENAME TO oauth_remoterepository_users', + ), + ], state_operations=[ migrations.CreateModel( name='RemoteRelation', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ( + 'id', + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name='ID', + ), + ), + ( + 'user', + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name='remote_relations', + to=settings.AUTH_USER_MODEL + ), + ), + ( + 'remoterepository', + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name='remote_relations', + to='oauth.RemoteRepository' + ), + ), ], - options={ - 'db_table': 'oauth_remoterepository_users', - }, ), migrations.AlterField( model_name='remoterepository', name='users', - field=models.ManyToManyField(related_name='oauth_repositories', through='oauth.RemoteRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users'), - ), - migrations.AddField( - model_name='remoterelation', - name='remoterepository', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to='oauth.RemoteRepository'), - ), - migrations.AddField( - model_name='remoterelation', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to=settings.AUTH_USER_MODEL), + field=models.ManyToManyField( + related_name='oauth_repositories', + through='oauth.RemoteRelation', + to=settings.AUTH_USER_MODEL, + verbose_name='Users' + ), ), migrations.AlterUniqueTogether( name='remoterelation', unique_together={('remoterepository', 'user')}, ), - ] - ) + ], + ), + migrations.AddField( + model_name='remoterelation', + name='account', + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name='remote_relations', + to='socialaccount.SocialAccount', + verbose_name='Connected account' + ), + ), + migrations.AddField( + model_name='remoterelation', + name='active', + field=models.BooleanField( + default=False, + verbose_name='Active' + ), + ), + migrations.AddField( + model_name='remoterelation', + name='admin', + field=models.BooleanField( + default=False, + verbose_name='Has admin privilege' + ), + ), + migrations.AddField( + model_name='remoterelation', + name='json', + field=jsonfield.fields.JSONField( + default=dict, + verbose_name='Serialized API response' + ), + preserve_default=False, + ), + migrations.AddField( + model_name='remoterelation', + name='created', + field=django_extensions.db.fields.CreationDateTimeField( + auto_now_add=True, + default=django.utils.timezone.now, + verbose_name='created', + ), + preserve_default=False, + ), + migrations.AddField( + model_name='remoterelation', + name='modified', + field=django_extensions.db.fields.ModificationDateTimeField( + auto_now=True, + verbose_name='modified' + ), + ), ] diff --git a/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py b/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py deleted file mode 100644 index 144830c3cf4..00000000000 --- a/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py +++ /dev/null @@ -1,49 +0,0 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:13 - -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone -import jsonfield.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('socialaccount', '0003_extra_data_default_dict'), - ('oauth', '0011_add_remote_relation_model'), - ] - - operations = [ - migrations.AddField( - model_name='remoterelation', - name='account', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remote_relations', to='socialaccount.SocialAccount', verbose_name='Connected account'), - ), - migrations.AddField( - model_name='remoterelation', - name='active', - field=models.BooleanField(default=False, verbose_name='Active'), - ), - migrations.AddField( - model_name='remoterelation', - name='admin', - field=models.BooleanField(default=False, verbose_name='Has admin privilege'), - ), - migrations.AddField( - model_name='remoterelation', - name='json', - field=jsonfield.fields.JSONField(default=dict, verbose_name='Serialized API response'), - preserve_default=False, - ), - migrations.AddField( - model_name='remoterelation', - name='modified_date', - field=models.DateTimeField(auto_now=True, verbose_name='Modified date'), - ), - migrations.AddField( - model_name='remoterelation', - name='pub_date', - field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='Publication date'), - preserve_default=False, - ), - ] diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py similarity index 73% rename from readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py rename to readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index 05928a1b36b..c9f3f547171 100644 --- a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:15 +# Generated by Django 2.2.16 on 2020-10-10 15:00 from itertools import islice import json @@ -18,7 +18,9 @@ def remote_relations_generator(relations, batch_size): relation.account_id = relation.remoterepository.account_id relation.active = relation.remoterepository.active relation.admin = relation.remoterepository.admin - relation.pub_date = relation.remoterepository.pub_date + relation.created = relation.remoterepository.pub_date + relation.modified = relation.remoterepository.modified_date + try: relation.json = json.loads(relation.remoterepository.json) except json.decoder.JSONDecodeError: @@ -32,10 +34,11 @@ def remote_relations_generator(relations, batch_size): relations_queryset = RemoteRelation.objects.all().select_related( 'remoterepository' ).only( - 'account_id', 'active', 'admin', - 'pub_date', 'json', 'remoterepository__account_id', + 'account_id', 'active', 'admin', 'created', + 'modified', 'json', 'remoterepository__account_id', 'remoterepository__active', 'remoterepository__admin', - 'remoterepository__pub_date', 'remoterepository__json' + 'remoterepository__pub_date', 'remoterepository__json', + 'remoterepository__modified_date' ) batch_size = 5000 @@ -53,7 +56,11 @@ def remote_relations_generator(relations, batch_size): RemoteRelation.objects.bulk_update( batch, - ['account_id', 'active', 'admin', 'pub_date', 'json'], + [ + 'account_id', 'active', + 'admin', 'json', + 'created', 'modified', + ], batch_size ) @@ -61,7 +68,7 @@ def remote_relations_generator(relations, batch_size): class Migration(migrations.Migration): dependencies = [ - ('oauth', '0012_add_fields_to_remote_relation_model'), + ('oauth', '0011_add_remote_relation_model'), ] operations = [ diff --git a/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py b/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py similarity index 83% rename from readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py rename to readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py index 0e9082cbe97..59c61a717b8 100644 --- a/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py +++ b/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:18 +# Generated by Django 2.2.16 on 2020-10-10 15:21 from django.db import migrations @@ -6,7 +6,7 @@ class Migration(migrations.Migration): dependencies = [ - ('oauth', '0013_data_migration_for_remote_relation_model'), + ('oauth', '0012_data_migration_for_remote_relation_model'), ] operations = [ diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 72387b3fd79..9c9e72b5827 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -4,13 +4,15 @@ import json -from allauth.socialaccount.models import SocialAccount from django.contrib.auth.models import User from django.core.validators import URLValidator from django.db import models from django.db.models import Q from django.urls import reverse from django.utils.translation import ugettext_lazy as _ + +from allauth.socialaccount.models import SocialAccount +from django_extensions.db.models import TimeStampedModel from jsonfield import JSONField from readthedocs.projects.constants import REPO_CHOICES @@ -197,7 +199,7 @@ def matches(self, user): } for project in projects] -class RemoteRelation(models.Model): +class RemoteRelation(TimeStampedModel): remoterepository = models.ForeignKey( RemoteRepository, related_name='remote_relations', @@ -220,10 +222,5 @@ class RemoteRelation(models.Model): admin = models.BooleanField(_('Has admin privilege'), default=False) json = JSONField(_('Serialized API response')) - pub_date = models.DateTimeField(_('Publication date'), auto_now_add=True) - modified_date = models.DateTimeField(_('Modified date'), auto_now=True) - class Meta: - # Use the existing auto generated table for ManyToMany relations - db_table = 'oauth_remoterepository_users' unique_together = (('remoterepository', 'user'),) From c3592eb32c0fe3d2a0256bd5a117b377568ba254 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 14 Nov 2020 14:54:36 +0600 Subject: [PATCH 05/89] Updated data migrations to only migrate RemoteRepositories of recently loggedin users --- ...ata_migration_for_remote_relation_model.py | 8 +++-- ...move_field_from_remote_repository_model.py | 29 ------------------- readthedocs/oauth/models.py | 5 ++++ 3 files changed, 10 insertions(+), 32 deletions(-) delete mode 100644 readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index c9f3f547171..840b02150cc 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -5,7 +5,7 @@ import logging from django.db import migrations - +from django.utils import timezone log = logging.getLogger(__name__) @@ -31,7 +31,9 @@ def remote_relations_generator(relations, batch_size): yield relation - relations_queryset = RemoteRelation.objects.all().select_related( + relations_queryset = RemoteRelation.objects.filter( + user__last_login__gte=timezone.now() - timezone.timedelta(days=30) + ).select_related( 'remoterepository' ).only( 'account_id', 'active', 'admin', 'created', @@ -41,7 +43,7 @@ def remote_relations_generator(relations, batch_size): 'remoterepository__modified_date' ) - batch_size = 5000 + batch_size = 1000 remote_relations = remote_relations_generator( relations_queryset, batch_size ) diff --git a/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py b/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py deleted file mode 100644 index 59c61a717b8..00000000000 --- a/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 2.2.16 on 2020-10-10 15:21 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('oauth', '0012_data_migration_for_remote_relation_model'), - ] - - operations = [ - migrations.RemoveField( - model_name='remoterepository', - name='account', - ), - migrations.RemoveField( - model_name='remoterepository', - name='active', - ), - migrations.RemoveField( - model_name='remoterepository', - name='admin', - ), - migrations.RemoveField( - model_name='remoterepository', - name='json', - ), - ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 9c9e72b5827..6a8790fe8b6 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -103,6 +103,8 @@ class RemoteRepository(models.Model): blank=True, on_delete=models.CASCADE, ) + active = models.BooleanField(_('Active'), default=False) + project = models.OneToOneField( Project, on_delete=models.SET_NULL, @@ -145,6 +147,7 @@ class RemoteRepository(models.Model): html_url = models.URLField(_('HTML URL'), null=True, blank=True) private = models.BooleanField(_('Private repository'), default=False) + admin = models.BooleanField(_('Has admin privilege'), default=False) vcs = models.CharField( _('vcs'), max_length=200, @@ -152,6 +155,8 @@ class RemoteRepository(models.Model): choices=REPO_CHOICES, ) + json = models.TextField(_('Serialized API response')) + objects = RemoteRepositoryQuerySet.as_manager() class Meta: From c6699fb25ba9c3cb391adce77e66f2ce237b7a5f Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 14 Nov 2020 15:00:24 +0600 Subject: [PATCH 06/89] Do not remove fields from RemoteRepository Model --- readthedocs/oauth/models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 6a8790fe8b6..74dae34c0a6 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -95,6 +95,14 @@ class RemoteRepository(models.Model): related_name='oauth_repositories', through='RemoteRelation' ) + account = models.ForeignKey( + SocialAccount, + verbose_name=_('Connected account'), + related_name='remote_repositories', + null=True, + blank=True, + on_delete=models.CASCADE, + ) organization = models.ForeignKey( RemoteOrganization, verbose_name=_('Organization'), From bf5c6b1213816a572b8e626c7ee95c839fa5c0e8 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 16 Nov 2020 21:30:09 +0600 Subject: [PATCH 07/89] Do not Migrate Active Field --- .../oauth/migrations/0011_add_remote_relation_model.py | 8 -------- .../0012_data_migration_for_remote_relation_model.py | 10 ++++------ readthedocs/oauth/models.py | 1 - 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index 562bbb4fc11..4660e4d4333 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -82,14 +82,6 @@ class Migration(migrations.Migration): verbose_name='Connected account' ), ), - migrations.AddField( - model_name='remoterelation', - name='active', - field=models.BooleanField( - default=False, - verbose_name='Active' - ), - ), migrations.AddField( model_name='remoterelation', name='admin', diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index 840b02150cc..028aa36654c 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -16,7 +16,6 @@ def move_data_to_remote_relations(apps, schema_editor): def remote_relations_generator(relations, batch_size): for relation in relations.iterator(chunk_size=batch_size): relation.account_id = relation.remoterepository.account_id - relation.active = relation.remoterepository.active relation.admin = relation.remoterepository.admin relation.created = relation.remoterepository.pub_date relation.modified = relation.remoterepository.modified_date @@ -36,11 +35,10 @@ def remote_relations_generator(relations, batch_size): ).select_related( 'remoterepository' ).only( - 'account_id', 'active', 'admin', 'created', + 'account_id', 'admin', 'created', 'modified', 'json', 'remoterepository__account_id', - 'remoterepository__active', 'remoterepository__admin', - 'remoterepository__pub_date', 'remoterepository__json', - 'remoterepository__modified_date' + 'remoterepository__admin', 'remoterepository__pub_date', + 'remoterepository__json', 'remoterepository__modified_date' ) batch_size = 1000 @@ -59,7 +57,7 @@ def remote_relations_generator(relations, batch_size): RemoteRelation.objects.bulk_update( batch, [ - 'account_id', 'active', + 'account_id', 'admin', 'json', 'created', 'modified', ], diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 74dae34c0a6..d429eebbf0d 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -231,7 +231,6 @@ class RemoteRelation(TimeStampedModel): blank=True, on_delete=models.SET_NULL, ) - active = models.BooleanField(_('Active'), default=False) admin = models.BooleanField(_('Has admin privilege'), default=False) json = JSONField(_('Serialized API response')) From d90ecadbee8bf4cea73e3319166841b06253306b Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 16 Nov 2020 22:41:19 +0600 Subject: [PATCH 08/89] Rename RemoteRelation model to RemoteRepositoryRelation --- .../0011_add_remote_relation_model.py | 20 +++++++++---------- ...ata_migration_for_remote_relation_model.py | 6 +++--- readthedocs/oauth/models.py | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index 4660e4d4333..10a4ccd620d 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -19,13 +19,13 @@ class Migration(migrations.Migration): migrations.SeparateDatabaseAndState( database_operations=[ migrations.RunSQL( - sql='ALTER TABLE oauth_remoterepository_users RENAME TO oauth_remoterelation', - reverse_sql='ALTER TABLE oauth_remoterelation RENAME TO oauth_remoterepository_users', + sql='ALTER TABLE oauth_remoterepository_users RENAME TO oauth_remoterepositoryrelation', + reverse_sql='ALTER TABLE oauth_remoterepositoryrelation RENAME TO oauth_remoterepository_users', ), ], state_operations=[ migrations.CreateModel( - name='RemoteRelation', + name='RemoteRepositoryRelation', fields=[ ( 'id', @@ -59,19 +59,19 @@ class Migration(migrations.Migration): name='users', field=models.ManyToManyField( related_name='oauth_repositories', - through='oauth.RemoteRelation', + through='oauth.RemoteRepositoryRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users' ), ), migrations.AlterUniqueTogether( - name='remoterelation', + name='remoterepositoryrelation', unique_together={('remoterepository', 'user')}, ), ], ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='account', field=models.ForeignKey( blank=True, @@ -83,7 +83,7 @@ class Migration(migrations.Migration): ), ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='admin', field=models.BooleanField( default=False, @@ -91,7 +91,7 @@ class Migration(migrations.Migration): ), ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='json', field=jsonfield.fields.JSONField( default=dict, @@ -100,7 +100,7 @@ class Migration(migrations.Migration): preserve_default=False, ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='created', field=django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, @@ -110,7 +110,7 @@ class Migration(migrations.Migration): preserve_default=False, ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='modified', field=django_extensions.db.fields.ModificationDateTimeField( auto_now=True, diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index 028aa36654c..ba69fca4f58 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -11,7 +11,7 @@ def move_data_to_remote_relations(apps, schema_editor): - RemoteRelation = apps.get_model('oauth', 'RemoteRelation') + RemoteRepositoryRelation = apps.get_model('oauth', 'RemoteRepositoryRelation') def remote_relations_generator(relations, batch_size): for relation in relations.iterator(chunk_size=batch_size): @@ -30,7 +30,7 @@ def remote_relations_generator(relations, batch_size): yield relation - relations_queryset = RemoteRelation.objects.filter( + relations_queryset = RemoteRepositoryRelation.objects.filter( user__last_login__gte=timezone.now() - timezone.timedelta(days=30) ).select_related( 'remoterepository' @@ -54,7 +54,7 @@ def remote_relations_generator(relations, batch_size): if not batch: break - RemoteRelation.objects.bulk_update( + RemoteRepositoryRelation.objects.bulk_update( batch, [ 'account_id', diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index d429eebbf0d..6f459a87306 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -93,7 +93,7 @@ class RemoteRepository(models.Model): User, verbose_name=_('Users'), related_name='oauth_repositories', - through='RemoteRelation' + through='RemoteRepositoryRelation' ) account = models.ForeignKey( SocialAccount, @@ -212,7 +212,7 @@ def matches(self, user): } for project in projects] -class RemoteRelation(TimeStampedModel): +class RemoteRepositoryRelation(TimeStampedModel): remoterepository = models.ForeignKey( RemoteRepository, related_name='remote_relations', From 9f300591702ba1b1c199f8342d5722f8852c5e40 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 18 Nov 2020 21:50:20 +0600 Subject: [PATCH 09/89] Update oauth services to use the RemoteRepositoryRelation model --- readthedocs/api/v2/views/model_views.py | 4 +- readthedocs/oauth/admin.py | 7 ++- readthedocs/oauth/models.py | 18 ++++---- readthedocs/oauth/services/bitbucket.py | 45 ++++++++++++------- readthedocs/oauth/services/github.py | 49 +++++++++++--------- readthedocs/oauth/services/gitlab.py | 60 ++++++++++++++----------- 6 files changed, 107 insertions(+), 76 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index c04e0b5d9e2..a089e60c1c7 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -397,10 +397,10 @@ def get_queryset(self): ) query = query.filter( - account__provider__in=[ + remote_relations__account__provider__in=[ service.adapter.provider_id for service in registry ], - ) + ).distinct() # optimizes for the RemoteOrganizationSerializer query = query.select_related('organization') diff --git a/readthedocs/oauth/admin.py b/readthedocs/oauth/admin.py index eeee459e6ec..9de27927a1c 100644 --- a/readthedocs/oauth/admin.py +++ b/readthedocs/oauth/admin.py @@ -4,7 +4,11 @@ from django.contrib import admin -from .models import RemoteOrganization, RemoteRepository +from .models import ( + RemoteOrganization, + RemoteRepository, + RemoteRepositoryRelation, +) class RemoteRepositoryAdmin(admin.ModelAdmin): @@ -22,4 +26,5 @@ class RemoteOrganizationAdmin(admin.ModelAdmin): admin.site.register(RemoteRepository, RemoteRepositoryAdmin) +admin.site.register(RemoteRepositoryRelation) admin.site.register(RemoteOrganization, RemoteOrganizationAdmin) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 6f459a87306..50b3240c734 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -174,15 +174,6 @@ class Meta: def __str__(self): return 'Remote repository: {}'.format(self.html_url) - def get_serialized(self, key=None, default=None): - try: - data = json.loads(self.json) - if key is not None: - return data.get(key, default) - return data - except ValueError: - pass - @property def clone_fuzzy_url(self): """Try to match against several permutations of project URL.""" @@ -236,3 +227,12 @@ class RemoteRepositoryRelation(TimeStampedModel): class Meta: unique_together = (('remoterepository', 'user'),) + + def get_serialized(self, key=None, default=None): + try: + data = self.json + if key is not None: + return data.get(key, default) + return data + except ValueError: + pass diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index accd2255a69..2d76d7c1888 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -14,7 +14,11 @@ from readthedocs.builds import utils as build_utils from readthedocs.integrations.models import Integration -from ..models import RemoteOrganization, RemoteRepository +from ..models import ( + RemoteOrganization, + RemoteRepository, + RemoteRepositoryRelation, +) from .base import Service, SyncServiceError @@ -57,16 +61,18 @@ def sync_repositories(self): resp = self.paginate( 'https://bitbucket.org/api/2.0/repositories/?role=admin', ) - admin_repos = ( - RemoteRepository.objects.filter( - users=self.user, - full_name__in=[r['full_name'] for r in resp], + admin_repo_relations = ( + RemoteRepositoryRelation.objects.filter( + user=self.user, account=self.account, + remoterepository__full_name__in=[ + r['full_name'] for r in resp + ] ) ) - for repo in admin_repos: - repo.admin = True - repo.save() + for remote_relation in admin_repo_relations: + remote_relation.admin = True + remote_relation.save() except (TypeError, ValueError): pass @@ -120,13 +126,18 @@ def create_repository(self, fields, privacy=None, organization=None): """ privacy = privacy or settings.DEFAULT_PRIVACY_LEVEL if any([ - (privacy == 'private'), - (fields['is_private'] is False and privacy == 'public'), + (privacy == 'private'), + (fields['is_private'] is False and privacy == 'public'), ]): - repo, _ = RemoteRepository.objects.get_or_create( - full_name=fields['full_name'], - account=self.account, + repo, _ = RemoteRepository.objects.get_or_create( + full_name=fields['full_name'] + ) + remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( + remoterepository=repo, + user=self.user, + account=self.account ) + if repo.organization and repo.organization != organization: log.debug( 'Not importing %s because mismatched orgs', @@ -135,7 +146,6 @@ def create_repository(self, fields, privacy=None, organization=None): return None repo.organization = organization - repo.users.add(self.user) repo.name = fields['name'] repo.description = fields['description'] repo.private = fields['is_private'] @@ -155,15 +165,18 @@ def create_repository(self, fields, privacy=None, organization=None): repo.html_url = fields['links']['html']['href'] repo.vcs = fields['scm'] - repo.account = self.account avatar_url = fields['links']['avatar']['href'] or '' repo.avatar_url = re.sub(r'\/16\/$', r'/32/', avatar_url) if not repo.avatar_url: repo.avatar_url = self.default_user_avatar_url - repo.json = json.dumps(fields) repo.save() + + remote_relation.account = self.account + remote_relation.json = fields + remote_relation.save() + return repo log.debug( diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 14a480b2330..734ce1df265 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -8,7 +8,6 @@ from allauth.socialaccount.providers.github.views import GitHubOAuth2Adapter from django.conf import settings -from django.db.models import Q from django.urls import reverse from requests.exceptions import RequestException @@ -20,7 +19,11 @@ ) from readthedocs.integrations.models import Integration -from ..models import RemoteOrganization, RemoteRepository +from ..models import ( + RemoteOrganization, + RemoteRepository, + RemoteRepositoryRelation, +) from .base import Service, SyncServiceError log = logging.getLogger(__name__) @@ -97,21 +100,19 @@ def create_repository(self, fields, privacy=None, organization=None): """ privacy = privacy or settings.DEFAULT_PRIVACY_LEVEL if any([ - (privacy == 'private'), - (fields['private'] is False and privacy == 'public'), + (privacy == 'private'), + (fields['private'] is False and privacy == 'public'), ]): - try: - repo = RemoteRepository.objects.get( - full_name=fields['full_name'], - users=self.user, - account=self.account, - ) - except RemoteRepository.DoesNotExist: - repo = RemoteRepository.objects.create( - full_name=fields['full_name'], - account=self.account, - ) - repo.users.add(self.user) + + repo, _ = RemoteRepository.objects.get_or_create( + full_name=fields['full_name'] + ) + remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( + remoterepository=repo, + user=self.user, + account=self.account + ) + if repo.organization and repo.organization != organization: log.debug( 'Not importing %s because mismatched orgs', @@ -125,20 +126,26 @@ def create_repository(self, fields, privacy=None, organization=None): repo.ssh_url = fields['ssh_url'] repo.html_url = fields['html_url'] repo.private = fields['private'] + repo.vcs = 'git' + repo.avatar_url = fields.get('owner', {}).get('avatar_url') + if repo.private: repo.clone_url = fields['ssh_url'] else: repo.clone_url = fields['clone_url'] - repo.admin = fields.get('permissions', {}).get('admin', False) - repo.vcs = 'git' - repo.account = self.account - repo.avatar_url = fields.get('owner', {}).get('avatar_url') + if not repo.avatar_url: repo.avatar_url = self.default_user_avatar_url - repo.json = json.dumps(fields) + repo.save() + + remote_relation.json = fields + remote_relation.admin = fields.get('permissions', {}).get('admin', False) + remote_relation.save() + return repo + log.debug( 'Not importing %s because mismatched type', fields['name'], diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 2d853fac566..57af3276a5b 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -3,7 +3,7 @@ import json import logging import re -from urllib.parse import urljoin, urlparse +from urllib.parse import urlparse from allauth.socialaccount.providers.gitlab.views import GitLabOAuth2Adapter from django.conf import settings @@ -18,7 +18,11 @@ from readthedocs.integrations.models import Integration from readthedocs.projects.models import Project -from ..models import RemoteOrganization, RemoteRepository +from ..models import ( + RemoteOrganization, + RemoteRepository, + RemoteRepositoryRelation, +) from .base import Service, SyncServiceError log = logging.getLogger(__name__) @@ -159,18 +163,14 @@ def create_repository(self, fields, privacy=None, organization=None): privacy = privacy or settings.DEFAULT_PRIVACY_LEVEL repo_is_public = fields['visibility'] == 'public' if privacy == 'private' or (repo_is_public and privacy == 'public'): - try: - repo = RemoteRepository.objects.get( - full_name=fields['name_with_namespace'], - users=self.user, - account=self.account, - ) - except RemoteRepository.DoesNotExist: - repo = RemoteRepository.objects.create( - full_name=fields['name_with_namespace'], - account=self.account, - ) - repo.users.add(self.user) + repo, _ = RemoteRepository.objects.get_or_create( + full_name=fields['name_with_namespace'] + ) + remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( + remoterepository=repo, + user=self.user, + account=self.account + ) if repo.organization and repo.organization != organization: log.debug( @@ -184,36 +184,42 @@ def create_repository(self, fields, privacy=None, organization=None): repo.description = fields['description'] repo.ssh_url = fields['ssh_url_to_repo'] repo.html_url = fields['web_url'] + repo.vcs = 'git' repo.private = not repo_is_public + + owner = fields.get('owner') or {} + repo.avatar_url = ( + fields.get('avatar_url') or owner.get('avatar_url') + ) + + if not repo.avatar_url: + repo.avatar_url = self.default_user_avatar_url + if repo.private: repo.clone_url = repo.ssh_url else: repo.clone_url = fields['http_url_to_repo'] + repo.save() + project_access_level = group_access_level = self.PERMISSION_NO_ACCESS + project_access = fields.get('permissions', {}).get('project_access', {}) if project_access: project_access_level = project_access.get('access_level', self.PERMISSION_NO_ACCESS) + group_access = fields.get('permissions', {}).get('group_access', {}) if group_access: group_access_level = group_access.get('access_level', self.PERMISSION_NO_ACCESS) - repo.admin = any([ + + remote_relation.admin = any([ project_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), group_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), ]) + remote_relation.account = self.account + remote_relation.json = fields + remote_relation.save() - repo.vcs = 'git' - repo.account = self.account - - owner = fields.get('owner') or {} - repo.avatar_url = ( - fields.get('avatar_url') or owner.get('avatar_url') - ) - if not repo.avatar_url: - repo.avatar_url = self.default_user_avatar_url - - repo.json = json.dumps(fields) - repo.save() return repo log.info( From 42a516de6bf06192cb72d889847fd15abff4eb05 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 19 Nov 2020 20:18:00 +0600 Subject: [PATCH 10/89] Use remote relations on update_webhook function --- readthedocs/oauth/services/base.py | 2 +- readthedocs/oauth/utils.py | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 1040fcade27..231150fdd0d 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -206,7 +206,7 @@ def sync(self): .exclude( Q(full_name__in=repository_full_names) | Q(project__isnull=False) ) - .filter(account=self.account) + .filter(remote_relations__account=self.account) .delete() ) diff --git a/readthedocs/oauth/utils.py b/readthedocs/oauth/utils.py index babb766488b..fef10b7d8ce 100644 --- a/readthedocs/oauth/utils.py +++ b/readthedocs/oauth/utils.py @@ -31,9 +31,17 @@ def update_webhook(project, integration, request=None): updated = False try: - account = project.remote_repository.account - service = service_cls(request.user, account) - updated, __ = service.update_webhook(project, integration) + remote_relations = project.remote_repository.remote_relations.filter( + account__isnull=False + ) + + for relation in remote_relations: + service = service_cls(request.user, relation.account) + updated, __ = service.update_webhook(project, integration) + + if updated: + break + except Project.remote_repository.RelatedObjectDoesNotExist: # The project was imported manually and doesn't have a RemoteRepository # attached. We do brute force over all the accounts registered for this From 48114e64e16f755228cad7245a936d0d092af02e Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 19 Nov 2020 20:27:02 +0600 Subject: [PATCH 11/89] Lint fix --- readthedocs/oauth/services/bitbucket.py | 2 +- readthedocs/oauth/services/github.py | 3 +-- readthedocs/oauth/services/gitlab.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 2d76d7c1888..7b1f5b0b0f0 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -129,7 +129,7 @@ def create_repository(self, fields, privacy=None, organization=None): (privacy == 'private'), (fields['is_private'] is False and privacy == 'public'), ]): - repo, _ = RemoteRepository.objects.get_or_create( + repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 734ce1df265..30210010521 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -104,7 +104,7 @@ def create_repository(self, fields, privacy=None, organization=None): (fields['private'] is False and privacy == 'public'), ]): - repo, _ = RemoteRepository.objects.get_or_create( + repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( @@ -145,7 +145,6 @@ def create_repository(self, fields, privacy=None, organization=None): return repo - log.debug( 'Not importing %s because mismatched type', fields['name'], diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 57af3276a5b..6467a98631f 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -163,7 +163,7 @@ def create_repository(self, fields, privacy=None, organization=None): privacy = privacy or settings.DEFAULT_PRIVACY_LEVEL repo_is_public = fields['visibility'] == 'public' if privacy == 'private' or (repo_is_public and privacy == 'public'): - repo, _ = RemoteRepository.objects.get_or_create( + repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['name_with_namespace'] ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( From 421bcaeb3bbd8b55dc0624f560273ac425a85089 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 19 Nov 2020 23:57:13 +0600 Subject: [PATCH 12/89] Fix tests --- readthedocs/api/v2/serializers.py | 2 +- readthedocs/rtd_tests/tests/test_api.py | 28 ++++++-- readthedocs/rtd_tests/tests/test_oauth.py | 5 +- .../rtd_tests/tests/test_oauth_sync.py | 64 +++++++++++++++---- 4 files changed, 77 insertions(+), 22 deletions(-) diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index f26a97640bc..b38ebc4eed4 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -186,7 +186,7 @@ class RemoteRepositorySerializer(serializers.ModelSerializer): class Meta: model = RemoteRepository - exclude = ('json', 'users') + exclude = ('users',) def get_matches(self, obj): request = self.context['request'] diff --git a/readthedocs/rtd_tests/tests/test_api.py b/readthedocs/rtd_tests/tests/test_api.py index dc4298ae4a5..d3ab852e57a 100644 --- a/readthedocs/rtd_tests/tests/test_api.py +++ b/readthedocs/rtd_tests/tests/test_api.py @@ -40,7 +40,7 @@ from readthedocs.builds.constants import LATEST, EXTERNAL from readthedocs.builds.models import Build, BuildCommandResult, Version from readthedocs.integrations.models import Integration -from readthedocs.oauth.models import RemoteOrganization, RemoteRepository +from readthedocs.oauth.models import RemoteOrganization, RemoteRepository, RemoteRepositoryRelation from readthedocs.projects.models import ( APIProject, EnvironmentVariable, @@ -650,8 +650,15 @@ def test_project_pagination(self): def test_remote_repository_pagination(self): account = get(SocialAccount, provider='github') user = get(User) + for _ in range(20): - get(RemoteRepository, users=[user], account=account) + repo = get(RemoteRepository) + get( + RemoteRepositoryRelation, + remoterepository=repo, + user=user, + account=account + ) client = APIClient() client.force_authenticate(user=user) @@ -765,15 +772,24 @@ def test_permissions(self): org_a = get(RemoteOrganization, users=[user_a], account=account_a) repo_a = get( RemoteRepository, - users=[user_a], organization=org_a, - account=account_a, ) + get( + RemoteRepositoryRelation, + remoterepository=repo_a, + user=user_a, + account=account_a + ) + repo_b = get( RemoteRepository, - users=[user_b], organization=None, - account=account_b, + ) + get( + RemoteRepositoryRelation, + remoterepository=repo_b, + user=user_b, + account=account_b ) client.force_authenticate(user=user_a) diff --git a/readthedocs/rtd_tests/tests/test_oauth.py b/readthedocs/rtd_tests/tests/test_oauth.py index 13c002cbbbf..1e890a5cfdc 100644 --- a/readthedocs/rtd_tests/tests/test_oauth.py +++ b/readthedocs/rtd_tests/tests/test_oauth.py @@ -10,7 +10,6 @@ from readthedocs.builds.constants import BUILD_STATUS_SUCCESS, EXTERNAL from readthedocs.builds.models import Build, Version from readthedocs.integrations.models import ( - BitbucketWebhook, GitHubWebhook, GitLabWebhook, ) @@ -147,7 +146,7 @@ def test_multiple_users_same_repo(self): ) self.assertIsInstance(github_project, RemoteRepository) self.assertIsInstance(github_project_2, RemoteRepository) - self.assertNotEqual(github_project_2, github_project) + self.assertEqual(github_project_2, github_project) github_project_3 = self.service.create_repository( repo_json, organization=self.org, privacy=self.privacy, @@ -971,7 +970,7 @@ def test_make_project_pass(self): ) self.assertEqual(repo.ssh_url, 'git@gitlab.com:testorga/testrepo.git') self.assertEqual(repo.html_url, 'https://gitlab.com/testorga/testrepo') - self.assertTrue(repo.admin) + self.assertTrue(repo.remote_relations.first().admin) self.assertFalse(repo.private) def test_make_private_project_fail(self): diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index 0c466845997..c1740587ff3 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -1,15 +1,12 @@ -from unittest import mock - from allauth.socialaccount.models import SocialAccount, SocialToken from allauth.socialaccount.providers.github.views import GitHubOAuth2Adapter import django_dynamic_fixture as fixture import requests_mock -from django.conf import settings from django.contrib.auth.models import User from django.test import TestCase -from readthedocs.oauth.models import RemoteOrganization, RemoteRepository +from readthedocs.oauth.models import RemoteOrganization, RemoteRepository, RemoteRepositoryRelation from readthedocs.oauth.services import ( GitHubService, ) @@ -75,28 +72,41 @@ def test_sync_delete_stale(self, mock_request): mock_request.get('https://api.github.com/user/repos', json=self.payload_user_repos) mock_request.get('https://api.github.com/user/orgs', json=[]) - fixture.get( + repo_1 = fixture.get( RemoteRepository, - account=self.socialaccount, - users=[self.user], full_name='organization/repository', ) fixture.get( + RemoteRepositoryRelation, + remoterepository=repo_1, + user=self.user, + account=self.socialaccount + ) + + repo_2 = fixture.get( RemoteRepository, - account=self.socialaccount, - users=[self.user], full_name='organization/old-repository', ) + fixture.get( + RemoteRepositoryRelation, + remoterepository=repo_2, + user=self.user, + account=self.socialaccount + ) # RemoteRepository linked to a Project shouldn't be removed project = fixture.get(Project) - fixture.get( + repo_3 = fixture.get( RemoteRepository, - account=self.socialaccount, project=project, - users=[self.user], full_name='organization/project-linked-repository', ) + fixture.get( + RemoteRepositoryRelation, + remoterepository=repo_3, + user=self.user, + account=self.socialaccount + ) fixture.get( RemoteOrganization, @@ -137,6 +147,36 @@ def test_sync_repositories(self, mock_request): self.assertFalse(remote_repository.admin) self.assertFalse(remote_repository.private) + @requests_mock.Mocker(kw='mock_request') + def test_sync_repositories_only_creates_one_remote_repo_per_vcs_repo(self, mock_request): + mock_request.get('https://api.github.com/user/repos', json=self.payload_user_repos) + + self.assertEqual(RemoteRepository.objects.count(), 0) + + remote_repositories = self.service.sync_repositories() + + self.assertEqual(RemoteRepository.objects.count(), 1) + self.assertEqual(len(remote_repositories), 1) + self.assertEqual(RemoteRepositoryRelation.objects.count(), 1) + + user_2 = fixture.get(User) + user_2_socialaccount = fixture.get( + SocialAccount, + user=user_2, + provider=GitHubOAuth2Adapter.provider_id, + ) + fixture.get( + SocialToken, + account=user_2_socialaccount, + ) + + service_2 = GitHubService(user=user_2, account=user_2_socialaccount) + remote_repositories = service_2.sync_repositories() + + self.assertEqual(RemoteRepository.objects.count(), 1) + self.assertEqual(len(remote_repositories), 1) + self.assertEqual(RemoteRepositoryRelation.objects.count(), 2) + @requests_mock.Mocker(kw='mock_request') def test_sync_organizations(self, mock_request): payload = [{ From afc7af0b047700c72ee7774af6bdac00a0235861 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Fri, 20 Nov 2020 00:00:05 +0600 Subject: [PATCH 13/89] lint fix --- readthedocs/rtd_tests/tests/test_api.py | 7 +++++-- readthedocs/rtd_tests/tests/test_oauth_sync.py | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/readthedocs/rtd_tests/tests/test_api.py b/readthedocs/rtd_tests/tests/test_api.py index d3ab852e57a..df7304c193c 100644 --- a/readthedocs/rtd_tests/tests/test_api.py +++ b/readthedocs/rtd_tests/tests/test_api.py @@ -26,7 +26,6 @@ GITLAB_MERGE_REQUEST, GITLAB_MERGE_REQUEST_CLOSE, GITLAB_MERGE_REQUEST_MERGE, - GITLAB_MERGE_REQUEST_OPEN, GITLAB_MERGE_REQUEST_REOPEN, GITLAB_MERGE_REQUEST_UPDATE, GITLAB_NULL_HASH, @@ -40,7 +39,11 @@ from readthedocs.builds.constants import LATEST, EXTERNAL from readthedocs.builds.models import Build, BuildCommandResult, Version from readthedocs.integrations.models import Integration -from readthedocs.oauth.models import RemoteOrganization, RemoteRepository, RemoteRepositoryRelation +from readthedocs.oauth.models import ( + RemoteOrganization, + RemoteRepository, + RemoteRepositoryRelation, +) from readthedocs.projects.models import ( APIProject, EnvironmentVariable, diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index c1740587ff3..5e457bb2544 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -6,7 +6,11 @@ from django.contrib.auth.models import User from django.test import TestCase -from readthedocs.oauth.models import RemoteOrganization, RemoteRepository, RemoteRepositoryRelation +from readthedocs.oauth.models import ( + RemoteOrganization, + RemoteRepository, + RemoteRepositoryRelation, +) from readthedocs.oauth.services import ( GitHubService, ) From 28c6a187c5c84009135651cb4dcc50ee42a04361 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Fri, 20 Nov 2020 20:16:34 +0600 Subject: [PATCH 14/89] Add TODO for removing json field from RemoteRepository serializer --- readthedocs/api/v2/serializers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index b38ebc4eed4..3df9fe6048b 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -186,7 +186,8 @@ class RemoteRepositorySerializer(serializers.ModelSerializer): class Meta: model = RemoteRepository - exclude = ('users',) + #TODO: Remove json field after it is removed from RemoteRepository + exclude = ('json', 'users') def get_matches(self, obj): request = self.context['request'] From 37d89afb9d2f3f8779807df332f7a2de1f97cba1 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 21 Nov 2020 15:58:30 +0600 Subject: [PATCH 15/89] Optimize remote_relations query --- readthedocs/api/v2/serializers.py | 2 +- readthedocs/oauth/utils.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index 3df9fe6048b..c3a77f535b7 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -186,7 +186,7 @@ class RemoteRepositorySerializer(serializers.ModelSerializer): class Meta: model = RemoteRepository - #TODO: Remove json field after it is removed from RemoteRepository + # TODO: Remove json field after it is removed from RemoteRepository exclude = ('json', 'users') def get_matches(self, obj): diff --git a/readthedocs/oauth/utils.py b/readthedocs/oauth/utils.py index fef10b7d8ce..9bdc772c5ea 100644 --- a/readthedocs/oauth/utils.py +++ b/readthedocs/oauth/utils.py @@ -33,7 +33,7 @@ def update_webhook(project, integration, request=None): try: remote_relations = project.remote_repository.remote_relations.filter( account__isnull=False - ) + ).select_related('account') for relation in remote_relations: service = service_cls(request.user, relation.account) From 8d126db3c63005d355c703292d4738b79d54dbdc Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 24 Nov 2020 13:19:54 +0600 Subject: [PATCH 16/89] Filter remote_relations according to loggedin user on update_webhook --- readthedocs/oauth/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readthedocs/oauth/utils.py b/readthedocs/oauth/utils.py index 9bdc772c5ea..0f93d0f0917 100644 --- a/readthedocs/oauth/utils.py +++ b/readthedocs/oauth/utils.py @@ -32,7 +32,8 @@ def update_webhook(project, integration, request=None): updated = False try: remote_relations = project.remote_repository.remote_relations.filter( - account__isnull=False + account__isnull=False, + user=request.user ).select_related('account') for relation in remote_relations: From dff138ef123eb1b9d317381cc7cbbafeab723027 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 24 Nov 2020 13:49:03 +0600 Subject: [PATCH 17/89] Only delete RemoteRepositoryRelation objects on remote repository sync --- readthedocs/oauth/services/base.py | 7 ++++--- readthedocs/rtd_tests/tests/test_oauth_sync.py | 10 ++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 231150fdd0d..76561520fd3 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -202,11 +202,12 @@ def sync(self): all_remote_repositories = remote_repositories + remote_repositories_organizations repository_full_names = [r.full_name for r in all_remote_repositories if r is not None] ( - self.user.oauth_repositories + self.user.remote_relations .exclude( - Q(full_name__in=repository_full_names) | Q(project__isnull=False) + Q(remoterepository__full_name__in=repository_full_names) | + Q(remoterepository__project__isnull=False) ) - .filter(remote_relations__account=self.account) + .filter(account=self.account) .delete() ) diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index 5e457bb2544..8ae8d02899f 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -120,14 +120,16 @@ def test_sync_delete_stale(self, mock_request): ) self.assertEqual(RemoteRepository.objects.count(), 3) + self.assertEqual(RemoteRepositoryRelation.objects.count(), 3) self.assertEqual(RemoteOrganization.objects.count(), 1) self.service.sync() - # After calling .sync, old-repository should be deleted, - # project-linked-repository should be conserved, and only the one - # returned by the API should be present (organization/repository) - self.assertEqual(RemoteRepository.objects.count(), 2) + # After calling .sync, old-repository remote relation should be deleted, + # project-linked-repository remote relation should be conserved, + # and only the one's returned by the API should be present (organization/repository) + self.assertEqual(RemoteRepository.objects.count(), 3) + self.assertEqual(RemoteRepositoryRelation.objects.count(), 2) self.assertTrue(RemoteRepository.objects.filter(full_name='organization/repository').exists()) self.assertTrue(RemoteRepository.objects.filter(full_name='organization/project-linked-repository').exists()) self.assertEqual(RemoteOrganization.objects.count(), 0) From 5d7c56f544ee4a75b41655621ad417e77b350b65 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 24 Nov 2020 13:55:27 +0600 Subject: [PATCH 18/89] Change RemoteRepositoryRelation related_name to remote_repository_relations --- readthedocs/api/v2/views/model_views.py | 2 +- .../oauth/migrations/0011_add_remote_relation_model.py | 6 +++--- .../0012_data_migration_for_remote_relation_model.py | 10 +++++----- readthedocs/oauth/models.py | 6 +++--- readthedocs/oauth/services/base.py | 2 +- readthedocs/oauth/utils.py | 4 ++-- readthedocs/rtd_tests/tests/test_oauth.py | 2 +- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index a089e60c1c7..431c0ec3f25 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -397,7 +397,7 @@ def get_queryset(self): ) query = query.filter( - remote_relations__account__provider__in=[ + remote_repository_relations__account__provider__in=[ service.adapter.provider_id for service in registry ], ).distinct() diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index 10a4ccd620d..4b0f9ea4ed4 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -40,7 +40,7 @@ class Migration(migrations.Migration): 'user', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, - related_name='remote_relations', + related_name='remote_repository_relations', to=settings.AUTH_USER_MODEL ), ), @@ -48,7 +48,7 @@ class Migration(migrations.Migration): 'remoterepository', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, - related_name='remote_relations', + related_name='remote_repository_relations', to='oauth.RemoteRepository' ), ), @@ -77,7 +77,7 @@ class Migration(migrations.Migration): blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, - related_name='remote_relations', + related_name='remote_repository_relations', to='socialaccount.SocialAccount', verbose_name='Connected account' ), diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index ba69fca4f58..40fd61e7a55 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -10,10 +10,10 @@ log = logging.getLogger(__name__) -def move_data_to_remote_relations(apps, schema_editor): +def move_data_to_remote_repository_relations(apps, schema_editor): RemoteRepositoryRelation = apps.get_model('oauth', 'RemoteRepositoryRelation') - def remote_relations_generator(relations, batch_size): + def remote_repository_relations_generator(relations, batch_size): for relation in relations.iterator(chunk_size=batch_size): relation.account_id = relation.remoterepository.account_id relation.admin = relation.remoterepository.admin @@ -42,14 +42,14 @@ def remote_relations_generator(relations, batch_size): ) batch_size = 1000 - remote_relations = remote_relations_generator( + remote_repository_relations = remote_repository_relations_generator( relations_queryset, batch_size ) # Follows Example from django docs # https://docs.djangoproject.com/en/2.2/ref/models/querysets/#bulk-create while True: - batch = list(islice(remote_relations, batch_size)) + batch = list(islice(remote_repository_relations, batch_size)) if not batch: break @@ -72,5 +72,5 @@ class Migration(migrations.Migration): ] operations = [ - migrations.RunPython(move_data_to_remote_relations), + migrations.RunPython(move_data_to_remote_repository_relations), ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 50b3240c734..a6c8957b474 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -206,18 +206,18 @@ def matches(self, user): class RemoteRepositoryRelation(TimeStampedModel): remoterepository = models.ForeignKey( RemoteRepository, - related_name='remote_relations', + related_name='remote_repository_relations', on_delete=models.CASCADE ) user = models.ForeignKey( User, - related_name='remote_relations', + related_name='remote_repository_relations', on_delete=models.CASCADE ) account = models.ForeignKey( SocialAccount, verbose_name=_('Connected account'), - related_name='remote_relations', + related_name='remote_repository_relations', null=True, blank=True, on_delete=models.SET_NULL, diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 76561520fd3..24ed875ab2a 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -202,7 +202,7 @@ def sync(self): all_remote_repositories = remote_repositories + remote_repositories_organizations repository_full_names = [r.full_name for r in all_remote_repositories if r is not None] ( - self.user.remote_relations + self.user.remote_repository_relations .exclude( Q(remoterepository__full_name__in=repository_full_names) | Q(remoterepository__project__isnull=False) diff --git a/readthedocs/oauth/utils.py b/readthedocs/oauth/utils.py index 0f93d0f0917..96a00b449cd 100644 --- a/readthedocs/oauth/utils.py +++ b/readthedocs/oauth/utils.py @@ -31,12 +31,12 @@ def update_webhook(project, integration, request=None): updated = False try: - remote_relations = project.remote_repository.remote_relations.filter( + remote_repository_relations = project.remote_repository.remote_repository_relations.filter( account__isnull=False, user=request.user ).select_related('account') - for relation in remote_relations: + for relation in remote_repository_relations: service = service_cls(request.user, relation.account) updated, __ = service.update_webhook(project, integration) diff --git a/readthedocs/rtd_tests/tests/test_oauth.py b/readthedocs/rtd_tests/tests/test_oauth.py index 1e890a5cfdc..194101b8fd2 100644 --- a/readthedocs/rtd_tests/tests/test_oauth.py +++ b/readthedocs/rtd_tests/tests/test_oauth.py @@ -970,7 +970,7 @@ def test_make_project_pass(self): ) self.assertEqual(repo.ssh_url, 'git@gitlab.com:testorga/testrepo.git') self.assertEqual(repo.html_url, 'https://gitlab.com/testorga/testrepo') - self.assertTrue(repo.remote_relations.first().admin) + self.assertTrue(repo.remote_repository_relations.first().admin) self.assertFalse(repo.private) def test_make_private_project_fail(self): From c194ac7e2b76f4a21fb66514772cafc9a36e14cb Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 24 Nov 2020 21:13:38 +0600 Subject: [PATCH 19/89] Delete remote repository relation on sync without filtering with projects --- readthedocs/oauth/services/base.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 24ed875ab2a..89644ec793c 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -203,10 +203,7 @@ def sync(self): repository_full_names = [r.full_name for r in all_remote_repositories if r is not None] ( self.user.remote_repository_relations - .exclude( - Q(remoterepository__full_name__in=repository_full_names) | - Q(remoterepository__project__isnull=False) - ) + .exclude(remoterepository__full_name__in=repository_full_names) .filter(account=self.account) .delete() ) From 76eff0d2756a5a2d585e1d4234d35c0cd9f9bc17 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 24 Nov 2020 22:27:10 +0600 Subject: [PATCH 20/89] Make remoterepository and account unique together --- .../oauth/migrations/0011_add_remote_relation_model.py | 10 +++++----- readthedocs/oauth/models.py | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index 4b0f9ea4ed4..e7a44378bf2 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -64,10 +64,6 @@ class Migration(migrations.Migration): verbose_name='Users' ), ), - migrations.AlterUniqueTogether( - name='remoterepositoryrelation', - unique_together={('remoterepository', 'user')}, - ), ], ), migrations.AddField( @@ -76,12 +72,16 @@ class Migration(migrations.Migration): field=models.ForeignKey( blank=True, null=True, - on_delete=django.db.models.deletion.SET_NULL, + on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='socialaccount.SocialAccount', verbose_name='Connected account' ), ), + migrations.AlterUniqueTogether( + name='remoterepositoryrelation', + unique_together={('remoterepository', 'account')}, + ), migrations.AddField( model_name='remoterepositoryrelation', name='admin', diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index a6c8957b474..5c358bd87ea 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -220,13 +220,13 @@ class RemoteRepositoryRelation(TimeStampedModel): related_name='remote_repository_relations', null=True, blank=True, - on_delete=models.SET_NULL, + on_delete=models.CASCADE, ) admin = models.BooleanField(_('Has admin privilege'), default=False) json = JSONField(_('Serialized API response')) class Meta: - unique_together = (('remoterepository', 'user'),) + unique_together = (('remoterepository', 'account'),) def get_serialized(self, key=None, default=None): try: From 77c1777c51834ec6e552214d2508deb7dfda9b0d Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 24 Nov 2020 22:50:16 +0600 Subject: [PATCH 21/89] Fix sync_delete test --- readthedocs/rtd_tests/tests/test_oauth_sync.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index 8ae8d02899f..08a9b6a3424 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -98,7 +98,8 @@ def test_sync_delete_stale(self, mock_request): account=self.socialaccount ) - # RemoteRepository linked to a Project shouldn't be removed + # RemoteRepositoryRelation with RemoteRepository + # linked to a Project should also be removed project = fixture.get(Project) repo_3 = fixture.get( RemoteRepository, @@ -129,7 +130,7 @@ def test_sync_delete_stale(self, mock_request): # project-linked-repository remote relation should be conserved, # and only the one's returned by the API should be present (organization/repository) self.assertEqual(RemoteRepository.objects.count(), 3) - self.assertEqual(RemoteRepositoryRelation.objects.count(), 2) + self.assertEqual(RemoteRepositoryRelation.objects.count(), 1) self.assertTrue(RemoteRepository.objects.filter(full_name='organization/repository').exists()) self.assertTrue(RemoteRepository.objects.filter(full_name='organization/project-linked-repository').exists()) self.assertEqual(RemoteOrganization.objects.count(), 0) From 076fe938050cee9362f6b28901bf664d50f9155d Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Mon, 5 Oct 2020 22:49:35 +0600 Subject: [PATCH 22/89] Add Initial Modeling with Through Model and Data Migration for RemoteRepository Model --- .../0011_add_remote_relation_model.py | 48 ++++++++++++++++++ ...012_add_fields_to_remote_relation_model.py | 49 +++++++++++++++++++ ...ata_migration_for_remote_relation_model.py | 49 +++++++++++++++++++ ...move_field_from_remote_repository_model.py | 29 +++++++++++ readthedocs/oauth/models.py | 47 +++++++++++++----- 5 files changed, 209 insertions(+), 13 deletions(-) create mode 100644 readthedocs/oauth/migrations/0011_add_remote_relation_model.py create mode 100644 readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py create mode 100644 readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py create mode 100644 readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py new file mode 100644 index 00000000000..f2241be8062 --- /dev/null +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -0,0 +1,48 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:10 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('oauth', '0010_index_full_name'), + ] + + operations = [ + migrations.SeparateDatabaseAndState( + state_operations=[ + migrations.CreateModel( + name='RemoteRelation', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ], + options={ + 'db_table': 'oauth_remoterepository_users', + }, + ), + migrations.AlterField( + model_name='remoterepository', + name='users', + field=models.ManyToManyField(related_name='oauth_repositories', through='oauth.RemoteRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users'), + ), + migrations.AddField( + model_name='remoterelation', + name='remoterepository', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to='oauth.RemoteRepository'), + ), + migrations.AddField( + model_name='remoterelation', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to=settings.AUTH_USER_MODEL), + ), + migrations.AlterUniqueTogether( + name='remoterelation', + unique_together={('remoterepository', 'user')}, + ), + ] + ) + ] diff --git a/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py b/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py new file mode 100644 index 00000000000..144830c3cf4 --- /dev/null +++ b/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py @@ -0,0 +1,49 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:13 + +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import jsonfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('socialaccount', '0003_extra_data_default_dict'), + ('oauth', '0011_add_remote_relation_model'), + ] + + operations = [ + migrations.AddField( + model_name='remoterelation', + name='account', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remote_relations', to='socialaccount.SocialAccount', verbose_name='Connected account'), + ), + migrations.AddField( + model_name='remoterelation', + name='active', + field=models.BooleanField(default=False, verbose_name='Active'), + ), + migrations.AddField( + model_name='remoterelation', + name='admin', + field=models.BooleanField(default=False, verbose_name='Has admin privilege'), + ), + migrations.AddField( + model_name='remoterelation', + name='json', + field=jsonfield.fields.JSONField(default=dict, verbose_name='Serialized API response'), + preserve_default=False, + ), + migrations.AddField( + model_name='remoterelation', + name='modified_date', + field=models.DateTimeField(auto_now=True, verbose_name='Modified date'), + ), + migrations.AddField( + model_name='remoterelation', + name='pub_date', + field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='Publication date'), + preserve_default=False, + ), + ] diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py new file mode 100644 index 00000000000..193df09338f --- /dev/null +++ b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py @@ -0,0 +1,49 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:15 + +import json +from itertools import islice + +from django.db import migrations + + +def move_data_to_remote_relations(apps, schema_editor): + RemoteRelation = apps.get_model('oauth', 'RemoteRelation') + + def remote_relations_generator(relations): + for relation in relations: + relation.account = relation.remoterepository.account + relation.active = relation.remoterepository.active + relation.admin = relation.remoterepository.admin + relation.pub_date = relation.remoterepository.pub_date + try: + relation.json = json.loads(relation.remoterepository.json) + except json.decoder.JSONDecodeError: + pass + + yield relation + + relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') + remote_relations = remote_relations_generator(relations_queryset) + batch_size = 5000 + + while True: + batch = list(islice(remote_relations, batch_size)) + + if not batch: + break + RemoteRelation.objects.bulk_update( + batch, + ['account', 'active', 'admin', 'pub_date', 'json'], + batch_size + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ('oauth', '0012_add_fields_to_remote_relation_model'), + ] + + operations = [ + migrations.RunPython(move_data_to_remote_relations), + ] diff --git a/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py b/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py new file mode 100644 index 00000000000..0e9082cbe97 --- /dev/null +++ b/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py @@ -0,0 +1,29 @@ +# Generated by Django 2.2.16 on 2020-10-05 06:18 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('oauth', '0013_data_migration_for_remote_relation_model'), + ] + + operations = [ + migrations.RemoveField( + model_name='remoterepository', + name='account', + ), + migrations.RemoveField( + model_name='remoterepository', + name='active', + ), + migrations.RemoveField( + model_name='remoterepository', + name='admin', + ), + migrations.RemoveField( + model_name='remoterepository', + name='json', + ), + ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 2e2374944cf..0d6fc2d1e9b 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -11,6 +11,7 @@ from django.db.models import Q from django.urls import reverse from django.utils.translation import ugettext_lazy as _ +from jsonfield import JSONField from readthedocs.projects.constants import REPO_CHOICES from readthedocs.projects.models import Project @@ -90,14 +91,7 @@ class RemoteRepository(models.Model): User, verbose_name=_('Users'), related_name='oauth_repositories', - ) - account = models.ForeignKey( - SocialAccount, - verbose_name=_('Connected account'), - related_name='remote_repositories', - null=True, - blank=True, - on_delete=models.CASCADE, + through='RemoteRelation' ) organization = models.ForeignKey( RemoteOrganization, @@ -107,8 +101,6 @@ class RemoteRepository(models.Model): blank=True, on_delete=models.CASCADE, ) - active = models.BooleanField(_('Active'), default=False) - project = models.OneToOneField( Project, on_delete=models.SET_NULL, @@ -151,7 +143,6 @@ class RemoteRepository(models.Model): html_url = models.URLField(_('HTML URL'), null=True, blank=True) private = models.BooleanField(_('Private repository'), default=False) - admin = models.BooleanField(_('Has admin privilege'), default=False) vcs = models.CharField( _('vcs'), max_length=200, @@ -165,8 +156,6 @@ class RemoteRepository(models.Model): blank=True, ) - json = models.TextField(_('Serialized API response')) - objects = RemoteRepositoryQuerySet.as_manager() class Meta: @@ -212,3 +201,35 @@ def matches(self, user): }, ), } for project in projects] + + +class RemoteRelation(models.Model): + remoterepository = models.ForeignKey( + RemoteRepository, + related_name='remote_relations', + on_delete=models.CASCADE + ) + user = models.ForeignKey( + User, + related_name='remote_relations', + on_delete=models.CASCADE + ) + account = models.ForeignKey( + SocialAccount, + verbose_name=_('Connected account'), + related_name='remote_relations', + null=True, + blank=True, + on_delete=models.SET_NULL, + ) + active = models.BooleanField(_('Active'), default=False) + admin = models.BooleanField(_('Has admin privilege'), default=False) + json = JSONField(_('Serialized API response')) + + pub_date = models.DateTimeField(_('Publication date'), auto_now_add=True) + modified_date = models.DateTimeField(_('Modified date'), auto_now=True) + + class Meta: + # Use the existing auto generated table for ManyToMany relations + db_table = 'oauth_remoterepository_users' + unique_together = (('remoterepository', 'user'),) From 33767954601dec74042fbf14b46eb3db091e775e Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Wed, 7 Oct 2020 10:50:26 +0600 Subject: [PATCH 23/89] Improve data migration performance --- .../0013_data_migration_for_remote_relation_model.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py index 193df09338f..d16bca87924 100644 --- a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py @@ -9,9 +9,9 @@ def move_data_to_remote_relations(apps, schema_editor): RemoteRelation = apps.get_model('oauth', 'RemoteRelation') - def remote_relations_generator(relations): - for relation in relations: - relation.account = relation.remoterepository.account + def remote_relations_generator(relations, batch_size): + for relation in relations.iterator(chunk_size=batch_size): + relation.account_id = relation.remoterepository.account_id relation.active = relation.remoterepository.active relation.admin = relation.remoterepository.admin relation.pub_date = relation.remoterepository.pub_date @@ -22,9 +22,9 @@ def remote_relations_generator(relations): yield relation - relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') - remote_relations = remote_relations_generator(relations_queryset) batch_size = 5000 + relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') + remote_relations = remote_relations_generator(relations_queryset, batch_size) while True: batch = list(islice(remote_relations, batch_size)) @@ -33,7 +33,7 @@ def remote_relations_generator(relations): break RemoteRelation.objects.bulk_update( batch, - ['account', 'active', 'admin', 'pub_date', 'json'], + ['account_id', 'active', 'admin', 'pub_date', 'json'], batch_size ) From 9f7924d2349dacb2f9bc4be1c1726cf055000f3b Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Sat, 10 Oct 2020 20:27:50 +0600 Subject: [PATCH 24/89] Logging, performance optimization for data migration --- ...ata_migration_for_remote_relation_model.py | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py index d16bca87924..05928a1b36b 100644 --- a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py @@ -1,11 +1,15 @@ # Generated by Django 2.2.16 on 2020-10-05 06:15 -import json from itertools import islice +import json +import logging from django.db import migrations +log = logging.getLogger(__name__) + + def move_data_to_remote_relations(apps, schema_editor): RemoteRelation = apps.get_model('oauth', 'RemoteRelation') @@ -18,19 +22,35 @@ def remote_relations_generator(relations, batch_size): try: relation.json = json.loads(relation.remoterepository.json) except json.decoder.JSONDecodeError: - pass + log.warning( + 'Could not migrate json data for remote_repository=%s', + relation.remoterepository_id + ) yield relation + relations_queryset = RemoteRelation.objects.all().select_related( + 'remoterepository' + ).only( + 'account_id', 'active', 'admin', + 'pub_date', 'json', 'remoterepository__account_id', + 'remoterepository__active', 'remoterepository__admin', + 'remoterepository__pub_date', 'remoterepository__json' + ) + batch_size = 5000 - relations_queryset = RemoteRelation.objects.all().select_related('remoterepository') - remote_relations = remote_relations_generator(relations_queryset, batch_size) + remote_relations = remote_relations_generator( + relations_queryset, batch_size + ) + # Follows Example from django docs + # https://docs.djangoproject.com/en/2.2/ref/models/querysets/#bulk-create while True: batch = list(islice(remote_relations, batch_size)) if not batch: break + RemoteRelation.objects.bulk_update( batch, ['account_id', 'active', 'admin', 'pub_date', 'json'], From b375696c078ad64e87858704cc2c6a31c96fc35a Mon Sep 17 00:00:00 2001 From: saadmk11 Date: Sat, 10 Oct 2020 21:45:31 +0600 Subject: [PATCH 25/89] Use TimeStampedModel model and follow django docs for migrating through model --- .../0011_add_remote_relation_model.py | 116 +++++++++++++++--- ...012_add_fields_to_remote_relation_model.py | 49 -------- ...ta_migration_for_remote_relation_model.py} | 21 ++-- ...ove_field_from_remote_repository_model.py} | 4 +- readthedocs/oauth/models.py | 11 +- 5 files changed, 118 insertions(+), 83 deletions(-) delete mode 100644 readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py rename readthedocs/oauth/migrations/{0013_data_migration_for_remote_relation_model.py => 0012_data_migration_for_remote_relation_model.py} (73%) rename readthedocs/oauth/migrations/{0014_remove_field_from_remote_repository_model.py => 0013_remove_field_from_remote_repository_model.py} (83%) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index f2241be8062..562bbb4fc11 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -1,9 +1,12 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:10 +# Generated by Django 2.2.16 on 2020-10-10 14:55 from django.conf import settings from django.db import migrations, models import django.db.models.deletion +import django_extensions.db.fields +import jsonfield.fields + class Migration(migrations.Migration): @@ -14,35 +17,112 @@ class Migration(migrations.Migration): operations = [ migrations.SeparateDatabaseAndState( + database_operations=[ + migrations.RunSQL( + sql='ALTER TABLE oauth_remoterepository_users RENAME TO oauth_remoterelation', + reverse_sql='ALTER TABLE oauth_remoterelation RENAME TO oauth_remoterepository_users', + ), + ], state_operations=[ migrations.CreateModel( name='RemoteRelation', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ( + 'id', + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name='ID', + ), + ), + ( + 'user', + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name='remote_relations', + to=settings.AUTH_USER_MODEL + ), + ), + ( + 'remoterepository', + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name='remote_relations', + to='oauth.RemoteRepository' + ), + ), ], - options={ - 'db_table': 'oauth_remoterepository_users', - }, ), migrations.AlterField( model_name='remoterepository', name='users', - field=models.ManyToManyField(related_name='oauth_repositories', through='oauth.RemoteRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users'), - ), - migrations.AddField( - model_name='remoterelation', - name='remoterepository', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to='oauth.RemoteRepository'), - ), - migrations.AddField( - model_name='remoterelation', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_relations', to=settings.AUTH_USER_MODEL), + field=models.ManyToManyField( + related_name='oauth_repositories', + through='oauth.RemoteRelation', + to=settings.AUTH_USER_MODEL, + verbose_name='Users' + ), ), migrations.AlterUniqueTogether( name='remoterelation', unique_together={('remoterepository', 'user')}, ), - ] - ) + ], + ), + migrations.AddField( + model_name='remoterelation', + name='account', + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name='remote_relations', + to='socialaccount.SocialAccount', + verbose_name='Connected account' + ), + ), + migrations.AddField( + model_name='remoterelation', + name='active', + field=models.BooleanField( + default=False, + verbose_name='Active' + ), + ), + migrations.AddField( + model_name='remoterelation', + name='admin', + field=models.BooleanField( + default=False, + verbose_name='Has admin privilege' + ), + ), + migrations.AddField( + model_name='remoterelation', + name='json', + field=jsonfield.fields.JSONField( + default=dict, + verbose_name='Serialized API response' + ), + preserve_default=False, + ), + migrations.AddField( + model_name='remoterelation', + name='created', + field=django_extensions.db.fields.CreationDateTimeField( + auto_now_add=True, + default=django.utils.timezone.now, + verbose_name='created', + ), + preserve_default=False, + ), + migrations.AddField( + model_name='remoterelation', + name='modified', + field=django_extensions.db.fields.ModificationDateTimeField( + auto_now=True, + verbose_name='modified' + ), + ), ] diff --git a/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py b/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py deleted file mode 100644 index 144830c3cf4..00000000000 --- a/readthedocs/oauth/migrations/0012_add_fields_to_remote_relation_model.py +++ /dev/null @@ -1,49 +0,0 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:13 - -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone -import jsonfield.fields - - -class Migration(migrations.Migration): - - dependencies = [ - ('socialaccount', '0003_extra_data_default_dict'), - ('oauth', '0011_add_remote_relation_model'), - ] - - operations = [ - migrations.AddField( - model_name='remoterelation', - name='account', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remote_relations', to='socialaccount.SocialAccount', verbose_name='Connected account'), - ), - migrations.AddField( - model_name='remoterelation', - name='active', - field=models.BooleanField(default=False, verbose_name='Active'), - ), - migrations.AddField( - model_name='remoterelation', - name='admin', - field=models.BooleanField(default=False, verbose_name='Has admin privilege'), - ), - migrations.AddField( - model_name='remoterelation', - name='json', - field=jsonfield.fields.JSONField(default=dict, verbose_name='Serialized API response'), - preserve_default=False, - ), - migrations.AddField( - model_name='remoterelation', - name='modified_date', - field=models.DateTimeField(auto_now=True, verbose_name='Modified date'), - ), - migrations.AddField( - model_name='remoterelation', - name='pub_date', - field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='Publication date'), - preserve_default=False, - ), - ] diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py similarity index 73% rename from readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py rename to readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index 05928a1b36b..c9f3f547171 100644 --- a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:15 +# Generated by Django 2.2.16 on 2020-10-10 15:00 from itertools import islice import json @@ -18,7 +18,9 @@ def remote_relations_generator(relations, batch_size): relation.account_id = relation.remoterepository.account_id relation.active = relation.remoterepository.active relation.admin = relation.remoterepository.admin - relation.pub_date = relation.remoterepository.pub_date + relation.created = relation.remoterepository.pub_date + relation.modified = relation.remoterepository.modified_date + try: relation.json = json.loads(relation.remoterepository.json) except json.decoder.JSONDecodeError: @@ -32,10 +34,11 @@ def remote_relations_generator(relations, batch_size): relations_queryset = RemoteRelation.objects.all().select_related( 'remoterepository' ).only( - 'account_id', 'active', 'admin', - 'pub_date', 'json', 'remoterepository__account_id', + 'account_id', 'active', 'admin', 'created', + 'modified', 'json', 'remoterepository__account_id', 'remoterepository__active', 'remoterepository__admin', - 'remoterepository__pub_date', 'remoterepository__json' + 'remoterepository__pub_date', 'remoterepository__json', + 'remoterepository__modified_date' ) batch_size = 5000 @@ -53,7 +56,11 @@ def remote_relations_generator(relations, batch_size): RemoteRelation.objects.bulk_update( batch, - ['account_id', 'active', 'admin', 'pub_date', 'json'], + [ + 'account_id', 'active', + 'admin', 'json', + 'created', 'modified', + ], batch_size ) @@ -61,7 +68,7 @@ def remote_relations_generator(relations, batch_size): class Migration(migrations.Migration): dependencies = [ - ('oauth', '0012_add_fields_to_remote_relation_model'), + ('oauth', '0011_add_remote_relation_model'), ] operations = [ diff --git a/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py b/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py similarity index 83% rename from readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py rename to readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py index 0e9082cbe97..59c61a717b8 100644 --- a/readthedocs/oauth/migrations/0014_remove_field_from_remote_repository_model.py +++ b/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.16 on 2020-10-05 06:18 +# Generated by Django 2.2.16 on 2020-10-10 15:21 from django.db import migrations @@ -6,7 +6,7 @@ class Migration(migrations.Migration): dependencies = [ - ('oauth', '0013_data_migration_for_remote_relation_model'), + ('oauth', '0012_data_migration_for_remote_relation_model'), ] operations = [ diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 0d6fc2d1e9b..9189570c3ff 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -4,13 +4,15 @@ import json -from allauth.socialaccount.models import SocialAccount from django.contrib.auth.models import User from django.core.validators import URLValidator from django.db import models from django.db.models import Q from django.urls import reverse from django.utils.translation import ugettext_lazy as _ + +from allauth.socialaccount.models import SocialAccount +from django_extensions.db.models import TimeStampedModel from jsonfield import JSONField from readthedocs.projects.constants import REPO_CHOICES @@ -203,7 +205,7 @@ def matches(self, user): } for project in projects] -class RemoteRelation(models.Model): +class RemoteRelation(TimeStampedModel): remoterepository = models.ForeignKey( RemoteRepository, related_name='remote_relations', @@ -226,10 +228,5 @@ class RemoteRelation(models.Model): admin = models.BooleanField(_('Has admin privilege'), default=False) json = JSONField(_('Serialized API response')) - pub_date = models.DateTimeField(_('Publication date'), auto_now_add=True) - modified_date = models.DateTimeField(_('Modified date'), auto_now=True) - class Meta: - # Use the existing auto generated table for ManyToMany relations - db_table = 'oauth_remoterepository_users' unique_together = (('remoterepository', 'user'),) From c4638804751a3d7fa15360886d04ca73f8e40acc Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 14 Nov 2020 14:54:36 +0600 Subject: [PATCH 26/89] Updated data migrations to only migrate RemoteRepositories of recently loggedin users --- ...ata_migration_for_remote_relation_model.py | 8 +++-- ...move_field_from_remote_repository_model.py | 29 ------------------- readthedocs/oauth/models.py | 5 ++++ 3 files changed, 10 insertions(+), 32 deletions(-) delete mode 100644 readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index c9f3f547171..840b02150cc 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -5,7 +5,7 @@ import logging from django.db import migrations - +from django.utils import timezone log = logging.getLogger(__name__) @@ -31,7 +31,9 @@ def remote_relations_generator(relations, batch_size): yield relation - relations_queryset = RemoteRelation.objects.all().select_related( + relations_queryset = RemoteRelation.objects.filter( + user__last_login__gte=timezone.now() - timezone.timedelta(days=30) + ).select_related( 'remoterepository' ).only( 'account_id', 'active', 'admin', 'created', @@ -41,7 +43,7 @@ def remote_relations_generator(relations, batch_size): 'remoterepository__modified_date' ) - batch_size = 5000 + batch_size = 1000 remote_relations = remote_relations_generator( relations_queryset, batch_size ) diff --git a/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py b/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py deleted file mode 100644 index 59c61a717b8..00000000000 --- a/readthedocs/oauth/migrations/0013_remove_field_from_remote_repository_model.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 2.2.16 on 2020-10-10 15:21 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('oauth', '0012_data_migration_for_remote_relation_model'), - ] - - operations = [ - migrations.RemoveField( - model_name='remoterepository', - name='account', - ), - migrations.RemoveField( - model_name='remoterepository', - name='active', - ), - migrations.RemoveField( - model_name='remoterepository', - name='admin', - ), - migrations.RemoveField( - model_name='remoterepository', - name='json', - ), - ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 9189570c3ff..d834ac18e90 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -103,6 +103,8 @@ class RemoteRepository(models.Model): blank=True, on_delete=models.CASCADE, ) + active = models.BooleanField(_('Active'), default=False) + project = models.OneToOneField( Project, on_delete=models.SET_NULL, @@ -145,6 +147,7 @@ class RemoteRepository(models.Model): html_url = models.URLField(_('HTML URL'), null=True, blank=True) private = models.BooleanField(_('Private repository'), default=False) + admin = models.BooleanField(_('Has admin privilege'), default=False) vcs = models.CharField( _('vcs'), max_length=200, @@ -158,6 +161,8 @@ class RemoteRepository(models.Model): blank=True, ) + json = models.TextField(_('Serialized API response')) + objects = RemoteRepositoryQuerySet.as_manager() class Meta: From f72a22017f47d76ba34d290045b91944715b20b6 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 14 Nov 2020 15:00:24 +0600 Subject: [PATCH 27/89] Do not remove fields from RemoteRepository Model --- readthedocs/oauth/models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index d834ac18e90..aa8b17597ce 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -95,6 +95,14 @@ class RemoteRepository(models.Model): related_name='oauth_repositories', through='RemoteRelation' ) + account = models.ForeignKey( + SocialAccount, + verbose_name=_('Connected account'), + related_name='remote_repositories', + null=True, + blank=True, + on_delete=models.CASCADE, + ) organization = models.ForeignKey( RemoteOrganization, verbose_name=_('Organization'), From cff0bfdb5696794f96c6533e90f9c4a1e9dc5092 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 16 Nov 2020 21:30:09 +0600 Subject: [PATCH 28/89] Do not Migrate Active Field --- .../oauth/migrations/0011_add_remote_relation_model.py | 8 -------- .../0012_data_migration_for_remote_relation_model.py | 10 ++++------ readthedocs/oauth/models.py | 1 - 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index 562bbb4fc11..4660e4d4333 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -82,14 +82,6 @@ class Migration(migrations.Migration): verbose_name='Connected account' ), ), - migrations.AddField( - model_name='remoterelation', - name='active', - field=models.BooleanField( - default=False, - verbose_name='Active' - ), - ), migrations.AddField( model_name='remoterelation', name='admin', diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index 840b02150cc..028aa36654c 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -16,7 +16,6 @@ def move_data_to_remote_relations(apps, schema_editor): def remote_relations_generator(relations, batch_size): for relation in relations.iterator(chunk_size=batch_size): relation.account_id = relation.remoterepository.account_id - relation.active = relation.remoterepository.active relation.admin = relation.remoterepository.admin relation.created = relation.remoterepository.pub_date relation.modified = relation.remoterepository.modified_date @@ -36,11 +35,10 @@ def remote_relations_generator(relations, batch_size): ).select_related( 'remoterepository' ).only( - 'account_id', 'active', 'admin', 'created', + 'account_id', 'admin', 'created', 'modified', 'json', 'remoterepository__account_id', - 'remoterepository__active', 'remoterepository__admin', - 'remoterepository__pub_date', 'remoterepository__json', - 'remoterepository__modified_date' + 'remoterepository__admin', 'remoterepository__pub_date', + 'remoterepository__json', 'remoterepository__modified_date' ) batch_size = 1000 @@ -59,7 +57,7 @@ def remote_relations_generator(relations, batch_size): RemoteRelation.objects.bulk_update( batch, [ - 'account_id', 'active', + 'account_id', 'admin', 'json', 'created', 'modified', ], diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index aa8b17597ce..53b2d6fda32 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -237,7 +237,6 @@ class RemoteRelation(TimeStampedModel): blank=True, on_delete=models.SET_NULL, ) - active = models.BooleanField(_('Active'), default=False) admin = models.BooleanField(_('Has admin privilege'), default=False) json = JSONField(_('Serialized API response')) From 2df6a4e0a85fb7665e72da56764c481d8bac024e Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 16 Nov 2020 22:41:19 +0600 Subject: [PATCH 29/89] Rename RemoteRelation model to RemoteRepositoryRelation --- .../0011_add_remote_relation_model.py | 20 +++++++++---------- ...ata_migration_for_remote_relation_model.py | 6 +++--- readthedocs/oauth/models.py | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py index 4660e4d4333..10a4ccd620d 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0011_add_remote_relation_model.py @@ -19,13 +19,13 @@ class Migration(migrations.Migration): migrations.SeparateDatabaseAndState( database_operations=[ migrations.RunSQL( - sql='ALTER TABLE oauth_remoterepository_users RENAME TO oauth_remoterelation', - reverse_sql='ALTER TABLE oauth_remoterelation RENAME TO oauth_remoterepository_users', + sql='ALTER TABLE oauth_remoterepository_users RENAME TO oauth_remoterepositoryrelation', + reverse_sql='ALTER TABLE oauth_remoterepositoryrelation RENAME TO oauth_remoterepository_users', ), ], state_operations=[ migrations.CreateModel( - name='RemoteRelation', + name='RemoteRepositoryRelation', fields=[ ( 'id', @@ -59,19 +59,19 @@ class Migration(migrations.Migration): name='users', field=models.ManyToManyField( related_name='oauth_repositories', - through='oauth.RemoteRelation', + through='oauth.RemoteRepositoryRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users' ), ), migrations.AlterUniqueTogether( - name='remoterelation', + name='remoterepositoryrelation', unique_together={('remoterepository', 'user')}, ), ], ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='account', field=models.ForeignKey( blank=True, @@ -83,7 +83,7 @@ class Migration(migrations.Migration): ), ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='admin', field=models.BooleanField( default=False, @@ -91,7 +91,7 @@ class Migration(migrations.Migration): ), ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='json', field=jsonfield.fields.JSONField( default=dict, @@ -100,7 +100,7 @@ class Migration(migrations.Migration): preserve_default=False, ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='created', field=django_extensions.db.fields.CreationDateTimeField( auto_now_add=True, @@ -110,7 +110,7 @@ class Migration(migrations.Migration): preserve_default=False, ), migrations.AddField( - model_name='remoterelation', + model_name='remoterepositoryrelation', name='modified', field=django_extensions.db.fields.ModificationDateTimeField( auto_now=True, diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py index 028aa36654c..ba69fca4f58 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py @@ -11,7 +11,7 @@ def move_data_to_remote_relations(apps, schema_editor): - RemoteRelation = apps.get_model('oauth', 'RemoteRelation') + RemoteRepositoryRelation = apps.get_model('oauth', 'RemoteRepositoryRelation') def remote_relations_generator(relations, batch_size): for relation in relations.iterator(chunk_size=batch_size): @@ -30,7 +30,7 @@ def remote_relations_generator(relations, batch_size): yield relation - relations_queryset = RemoteRelation.objects.filter( + relations_queryset = RemoteRepositoryRelation.objects.filter( user__last_login__gte=timezone.now() - timezone.timedelta(days=30) ).select_related( 'remoterepository' @@ -54,7 +54,7 @@ def remote_relations_generator(relations, batch_size): if not batch: break - RemoteRelation.objects.bulk_update( + RemoteRepositoryRelation.objects.bulk_update( batch, [ 'account_id', diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 53b2d6fda32..ddcc515025a 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -93,7 +93,7 @@ class RemoteRepository(models.Model): User, verbose_name=_('Users'), related_name='oauth_repositories', - through='RemoteRelation' + through='RemoteRepositoryRelation' ) account = models.ForeignKey( SocialAccount, @@ -218,7 +218,7 @@ def matches(self, user): } for project in projects] -class RemoteRelation(TimeStampedModel): +class RemoteRepositoryRelation(TimeStampedModel): remoterepository = models.ForeignKey( RemoteRepository, related_name='remote_relations', From bf8a1679c694ec0eba6788572d2aba4f307db97e Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 25 Nov 2020 21:40:19 +0600 Subject: [PATCH 30/89] Rename oauth migrations --- ...mote_relation_model.py => 0012_add_remote_relation_model.py} | 2 +- ...odel.py => 0013_data_migration_for_remote_relation_model.py} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename readthedocs/oauth/migrations/{0011_add_remote_relation_model.py => 0012_add_remote_relation_model.py} (98%) rename readthedocs/oauth/migrations/{0012_data_migration_for_remote_relation_model.py => 0013_data_migration_for_remote_relation_model.py} (97%) diff --git a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py b/readthedocs/oauth/migrations/0012_add_remote_relation_model.py similarity index 98% rename from readthedocs/oauth/migrations/0011_add_remote_relation_model.py rename to readthedocs/oauth/migrations/0012_add_remote_relation_model.py index e7a44378bf2..3ee1f737797 100644 --- a/readthedocs/oauth/migrations/0011_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0012_add_remote_relation_model.py @@ -12,7 +12,7 @@ class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('oauth', '0010_index_full_name'), + ('oauth', '0011_add_default_branch'), ] operations = [ diff --git a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py similarity index 97% rename from readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py rename to readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py index f28d9565df7..3ce92217e20 100644 --- a/readthedocs/oauth/migrations/0012_data_migration_for_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py @@ -69,7 +69,7 @@ def remote_repository_relations_generator(relations, batch_size): class Migration(migrations.Migration): dependencies = [ - ('oauth', '0011_add_remote_relation_model'), + ('oauth', '0012_add_remote_relation_model'), ] operations = [ From e1f4ac705aa1d735eecc9eb527734859f57849a8 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 2 Dec 2020 21:20:28 +0600 Subject: [PATCH 31/89] Add remote_id and vcs_provider field to RemoteRepository model and Remove Data Migration --- readthedocs/builds/models.py | 4 +- readthedocs/oauth/constants.py | 9 +++ ...12_add_remote_id_and_vcs_provider_field.py | 23 ++++++ ...l.py => 0013_add_remote_relation_model.py} | 2 +- ...ata_migration_for_remote_relation_model.py | 77 ------------------- readthedocs/oauth/models.py | 12 ++- readthedocs/projects/constants.py | 4 - readthedocs/projects/tasks.py | 2 +- readthedocs/rtd_tests/tests/test_project.py | 2 +- readthedocs/vcs_support/backends/git.py | 3 +- 10 files changed, 48 insertions(+), 90 deletions(-) create mode 100644 readthedocs/oauth/constants.py create mode 100644 readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py rename readthedocs/oauth/migrations/{0012_add_remote_relation_model.py => 0013_add_remote_relation_model.py} (98%) delete mode 100644 readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py diff --git a/readthedocs/builds/models.py b/readthedocs/builds/models.py index 3e12d5b8f60..85b40ae8892 100644 --- a/readthedocs/builds/models.py +++ b/readthedocs/builds/models.py @@ -65,17 +65,15 @@ ) from readthedocs.builds.version_slug import VersionSlugField from readthedocs.config import LATEST_CONFIGURATION_VERSION -from readthedocs.core.utils import broadcast +from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.constants import ( BITBUCKET_COMMIT_URL, BITBUCKET_URL, DOCTYPE_CHOICES, - GITHUB_BRAND, GITHUB_COMMIT_URL, GITHUB_PULL_REQUEST_COMMIT_URL, GITHUB_PULL_REQUEST_URL, GITHUB_URL, - GITLAB_BRAND, GITLAB_COMMIT_URL, GITLAB_MERGE_REQUEST_COMMIT_URL, GITLAB_MERGE_REQUEST_URL, diff --git a/readthedocs/oauth/constants.py b/readthedocs/oauth/constants.py new file mode 100644 index 00000000000..5443970a1d4 --- /dev/null +++ b/readthedocs/oauth/constants.py @@ -0,0 +1,9 @@ +GITHUB_BRAND = 'GitHub' +GITLAB_BRAND = 'GitLab' +BITBUCKET_BRAND = 'Bitbucket' + +VCS_PROVIDER_CHOICES = ( + (GITHUB_BRAND, 'GitHub'), + (GITLAB_BRAND, 'GitLab'), + (BITBUCKET_BRAND, 'Bitbucket'), +) diff --git a/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py b/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py new file mode 100644 index 00000000000..ce73d2d263c --- /dev/null +++ b/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py @@ -0,0 +1,23 @@ +# Generated by Django 2.2.17 on 2020-12-02 15:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('oauth', '0011_add_default_branch'), + ] + + operations = [ + migrations.AddField( + model_name='remoterepository', + name='remote_id', + field=models.CharField(blank=True, max_length=128, null=True), + ), + migrations.AddField( + model_name='remoterepository', + name='vcs_provider', + field=models.CharField(blank=True, choices=[('GitHub', 'GitHub'), ('GitLab', 'GitLab'), ('Bitbucket', 'Bitbucket')], max_length=32, null=True, verbose_name='VCS provider'), + ), + ] diff --git a/readthedocs/oauth/migrations/0012_add_remote_relation_model.py b/readthedocs/oauth/migrations/0013_add_remote_relation_model.py similarity index 98% rename from readthedocs/oauth/migrations/0012_add_remote_relation_model.py rename to readthedocs/oauth/migrations/0013_add_remote_relation_model.py index 3ee1f737797..de2f4d1851b 100644 --- a/readthedocs/oauth/migrations/0012_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0013_add_remote_relation_model.py @@ -12,7 +12,7 @@ class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('oauth', '0011_add_default_branch'), + ('oauth', '0012_add_remote_id_and_vcs_provider_field'), ] operations = [ diff --git a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py b/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py deleted file mode 100644 index 3ce92217e20..00000000000 --- a/readthedocs/oauth/migrations/0013_data_migration_for_remote_relation_model.py +++ /dev/null @@ -1,77 +0,0 @@ -# Generated by Django 2.2.16 on 2020-10-10 15:00 - -from itertools import islice -import json -import logging - -from django.db import migrations -from django.utils import timezone - -log = logging.getLogger(__name__) - - -def move_data_to_remote_repository_relations(apps, schema_editor): - RemoteRepositoryRelation = apps.get_model('oauth', 'RemoteRepositoryRelation') - - def remote_repository_relations_generator(relations, batch_size): - for relation in relations.iterator(chunk_size=batch_size): - relation.account_id = relation.remoterepository.account_id - relation.admin = relation.remoterepository.admin - relation.created = relation.remoterepository.pub_date - relation.modified = relation.remoterepository.modified_date - - try: - relation.json = json.loads(relation.remoterepository.json) - except json.decoder.JSONDecodeError: - log.warning( - 'Could not migrate json data for remote_repository=%s', - relation.remoterepository_id - ) - - yield relation - - relations_queryset = RemoteRepositoryRelation.objects.filter( - user__last_login__gte=timezone.now() - timezone.timedelta(days=30) - ).select_related( - 'remoterepository' - ).only( - 'account_id', 'admin', 'created', - 'modified', 'json', 'remoterepository__account_id', - 'remoterepository__admin', 'remoterepository__pub_date', - 'remoterepository__json', 'remoterepository__modified_date' - ) - - batch_size = 1000 - - remote_repository_relations = remote_repository_relations_generator( - relations_queryset, batch_size - ) - - # Follows Example from django docs - # https://docs.djangoproject.com/en/2.2/ref/models/querysets/#bulk-create - while True: - batch = list(islice(remote_repository_relations, batch_size)) - - if not batch: - break - - RemoteRepositoryRelation.objects.bulk_update( - batch, - [ - 'account_id', - 'admin', 'json', - 'created', 'modified', - ], - batch_size - ) - - -class Migration(migrations.Migration): - - dependencies = [ - ('oauth', '0012_add_remote_relation_model'), - ] - - operations = [ - migrations.RunPython(move_data_to_remote_repository_relations), - ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 8cddbf68803..1263134f8ac 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -18,6 +18,7 @@ from readthedocs.projects.constants import REPO_CHOICES from readthedocs.projects.models import Project +from .constants import VCS_PROVIDER_CHOICES from .querysets import RemoteOrganizationQuerySet, RemoteRepositoryQuerySet @@ -168,8 +169,17 @@ class RemoteRepository(models.Model): null=True, blank=True, ) - json = models.TextField(_('Serialized API response')) + # TODO: Make remote_id and vcs_provider not nullable and + # unique together after migration + remote_id = models.CharField(max_length=128, blank=True, null=True) + vcs_provider = models.CharField( + _('VCS provider'), + choices=VCS_PROVIDER_CHOICES, + max_length=32, + null=True, + blank=True + ) objects = RemoteRepositoryQuerySet.as_manager() diff --git a/readthedocs/projects/constants.py b/readthedocs/projects/constants.py index ce36a1a442b..783588908f1 100644 --- a/readthedocs/projects/constants.py +++ b/readthedocs/projects/constants.py @@ -377,10 +377,6 @@ GITHUB_PR_PULL_PATTERN = 'pull/{id}/head:external-{id}' GITLAB_MR_PULL_PATTERN = 'merge-requests/{id}/head:external-{id}' -# Git provider names -GITHUB_BRAND = 'GitHub' -GITLAB_BRAND = 'GitLab' - # Set 3 priorities, [low, medium, high] -- default is medium # Leave some space on each side of the set to expand if needed CELERY_LOW = 3 diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index b7d41d70613..7ea700f6371 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -67,9 +67,9 @@ ) from readthedocs.doc_builder.loader import get_builder_class from readthedocs.doc_builder.python_environments import Conda, Virtualenv +from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.oauth.models import RemoteRepository from readthedocs.oauth.notifications import GitBuildStatusFailureNotification -from readthedocs.projects.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.models import APIProject, Feature from readthedocs.search.utils import index_new_files, remove_indexed_files from readthedocs.sphinx_domains.models import SphinxDomain diff --git a/readthedocs/rtd_tests/tests/test_project.py b/readthedocs/rtd_tests/tests/test_project.py index e56f680761e..32d5d0aaeb8 100644 --- a/readthedocs/rtd_tests/tests/test_project.py +++ b/readthedocs/rtd_tests/tests/test_project.py @@ -20,8 +20,8 @@ TAG, ) from readthedocs.builds.models import Build, Version +from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.oauth.services import GitHubService, GitLabService -from readthedocs.projects.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.exceptions import ProjectConfigurationError from readthedocs.projects.models import Project from readthedocs.projects.tasks import finish_inactive_builds diff --git a/readthedocs/vcs_support/backends/git.py b/readthedocs/vcs_support/backends/git.py index f96b7fcbb11..db8c484bf86 100644 --- a/readthedocs/vcs_support/backends/git.py +++ b/readthedocs/vcs_support/backends/git.py @@ -11,10 +11,9 @@ from readthedocs.builds.constants import EXTERNAL from readthedocs.config import ALL +from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.constants import ( - GITHUB_BRAND, GITHUB_PR_PULL_PATTERN, - GITLAB_BRAND, GITLAB_MR_PULL_PATTERN, ) from readthedocs.projects.exceptions import RepositoryError From 570e0640bfc72fc8a2a477e8d14cf713dac7eacf Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 3 Dec 2020 21:06:09 +0600 Subject: [PATCH 32/89] DB Index remote_id Field --- .../0012_add_remote_id_and_vcs_provider_field.py | 2 +- readthedocs/oauth/models.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py b/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py index ce73d2d263c..10fd88eb6bf 100644 --- a/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py +++ b/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py @@ -13,7 +13,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='remoterepository', name='remote_id', - field=models.CharField(blank=True, max_length=128, null=True), + field=models.CharField(db_index=True, blank=True, max_length=128, null=True), ), migrations.AddField( model_name='remoterepository', diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 1263134f8ac..7933af62acf 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -172,7 +172,12 @@ class RemoteRepository(models.Model): json = models.TextField(_('Serialized API response')) # TODO: Make remote_id and vcs_provider not nullable and # unique together after migration - remote_id = models.CharField(max_length=128, blank=True, null=True) + remote_id = models.CharField( + db_index=True, + max_length=128, + blank=True, + null=True + ) vcs_provider = models.CharField( _('VCS provider'), choices=VCS_PROVIDER_CHOICES, From ac0c86340baf49dc1dd9edc672f64b5f99621234 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 3 Dec 2020 21:50:36 +0600 Subject: [PATCH 33/89] Populate remote_id and vcs_provider on repository sync --- readthedocs/oauth/services/bitbucket.py | 3 +++ readthedocs/oauth/services/github.py | 3 +++ readthedocs/oauth/services/gitlab.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 2f005f9e396..c4578bf243a 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -14,6 +14,7 @@ from readthedocs.builds import utils as build_utils from readthedocs.integrations.models import Integration +from ..constants import BITBUCKET_BRAND from ..models import ( RemoteOrganization, RemoteRepository, @@ -147,6 +148,8 @@ def create_repository(self, fields, privacy=None, organization=None): repo.organization = organization repo.name = fields['name'] + repo.remote_id = fields['uuid'] + repo.vcs_provider = BITBUCKET_BRAND repo.description = fields['description'] repo.private = fields['is_private'] diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 42b4072e12b..36cd624ee13 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -19,6 +19,7 @@ ) from readthedocs.integrations.models import Integration +from ..constants import GITHUB_BRAND from ..models import ( RemoteOrganization, RemoteRepository, @@ -121,6 +122,8 @@ def create_repository(self, fields, privacy=None, organization=None): return None repo.organization = organization + repo.remote_id = fields['id'] + repo.vcs_provider = GITHUB_BRAND repo.name = fields['name'] repo.description = fields['description'] repo.ssh_url = fields['ssh_url'] diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 09a7c448be4..a838435e5c6 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -18,6 +18,7 @@ from readthedocs.integrations.models import Integration from readthedocs.projects.models import Project +from ..constants import GITLAB_BRAND from ..models import ( RemoteOrganization, RemoteRepository, @@ -180,6 +181,8 @@ def create_repository(self, fields, privacy=None, organization=None): return None repo.organization = organization + repo.remote_id = fields['id'] + repo.vcs_provider = GITLAB_BRAND repo.name = fields['name'] repo.description = fields['description'] repo.ssh_url = fields['ssh_url_to_repo'] From 8354b66b8185ddd24918fef13b0adfc41198d3f7 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 3 Dec 2020 22:05:16 +0600 Subject: [PATCH 34/89] Do not merge VCS provider brand with vcs_provider choices --- readthedocs/builds/models.py | 3 ++- readthedocs/oauth/constants.py | 12 ++++++------ .../0012_add_remote_id_and_vcs_provider_field.py | 2 +- readthedocs/oauth/services/bitbucket.py | 4 ++-- readthedocs/oauth/services/github.py | 4 ++-- readthedocs/oauth/services/gitlab.py | 4 ++-- readthedocs/projects/constants.py | 4 ++++ readthedocs/projects/tasks.py | 2 +- readthedocs/rtd_tests/tests/test_project.py | 2 +- readthedocs/vcs_support/backends/git.py | 3 ++- 10 files changed, 23 insertions(+), 17 deletions(-) diff --git a/readthedocs/builds/models.py b/readthedocs/builds/models.py index 85b40ae8892..423d3ac9399 100644 --- a/readthedocs/builds/models.py +++ b/readthedocs/builds/models.py @@ -65,15 +65,16 @@ ) from readthedocs.builds.version_slug import VersionSlugField from readthedocs.config import LATEST_CONFIGURATION_VERSION -from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.constants import ( BITBUCKET_COMMIT_URL, BITBUCKET_URL, DOCTYPE_CHOICES, + GITHUB_BRAND, GITHUB_COMMIT_URL, GITHUB_PULL_REQUEST_COMMIT_URL, GITHUB_PULL_REQUEST_URL, GITHUB_URL, + GITLAB_BRAND, GITLAB_COMMIT_URL, GITLAB_MERGE_REQUEST_COMMIT_URL, GITLAB_MERGE_REQUEST_URL, diff --git a/readthedocs/oauth/constants.py b/readthedocs/oauth/constants.py index 5443970a1d4..5496ec0c9bf 100644 --- a/readthedocs/oauth/constants.py +++ b/readthedocs/oauth/constants.py @@ -1,9 +1,9 @@ -GITHUB_BRAND = 'GitHub' -GITLAB_BRAND = 'GitLab' -BITBUCKET_BRAND = 'Bitbucket' +GITHUB = 'github' +GITLAB = 'gitlab' +BITBUCKET = 'bitbucket' VCS_PROVIDER_CHOICES = ( - (GITHUB_BRAND, 'GitHub'), - (GITLAB_BRAND, 'GitLab'), - (BITBUCKET_BRAND, 'Bitbucket'), + (GITHUB, 'GitHub'), + (GITLAB, 'GitLab'), + (BITBUCKET, 'Bitbucket'), ) diff --git a/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py b/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py index 10fd88eb6bf..bdb995f389e 100644 --- a/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py +++ b/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py @@ -18,6 +18,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='remoterepository', name='vcs_provider', - field=models.CharField(blank=True, choices=[('GitHub', 'GitHub'), ('GitLab', 'GitLab'), ('Bitbucket', 'Bitbucket')], max_length=32, null=True, verbose_name='VCS provider'), + field=models.CharField(blank=True, choices=[('github', 'GitHub'), ('gitlab', 'GitLab'), ('bitbucket', 'Bitbucket')], max_length=32, null=True, verbose_name='VCS provider'), ), ] diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index c4578bf243a..c0e8cf21949 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -14,7 +14,7 @@ from readthedocs.builds import utils as build_utils from readthedocs.integrations.models import Integration -from ..constants import BITBUCKET_BRAND +from ..constants import BITBUCKET from ..models import ( RemoteOrganization, RemoteRepository, @@ -149,7 +149,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo.organization = organization repo.name = fields['name'] repo.remote_id = fields['uuid'] - repo.vcs_provider = BITBUCKET_BRAND + repo.vcs_provider = BITBUCKET repo.description = fields['description'] repo.private = fields['is_private'] diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 36cd624ee13..f0bfa9ef074 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -19,7 +19,7 @@ ) from readthedocs.integrations.models import Integration -from ..constants import GITHUB_BRAND +from ..constants import GITHUB from ..models import ( RemoteOrganization, RemoteRepository, @@ -123,7 +123,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo.organization = organization repo.remote_id = fields['id'] - repo.vcs_provider = GITHUB_BRAND + repo.vcs_provider = GITHUB repo.name = fields['name'] repo.description = fields['description'] repo.ssh_url = fields['ssh_url'] diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index a838435e5c6..647faade33a 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -18,7 +18,7 @@ from readthedocs.integrations.models import Integration from readthedocs.projects.models import Project -from ..constants import GITLAB_BRAND +from ..constants import GITLAB from ..models import ( RemoteOrganization, RemoteRepository, @@ -182,7 +182,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo.organization = organization repo.remote_id = fields['id'] - repo.vcs_provider = GITLAB_BRAND + repo.vcs_provider = GITLAB repo.name = fields['name'] repo.description = fields['description'] repo.ssh_url = fields['ssh_url_to_repo'] diff --git a/readthedocs/projects/constants.py b/readthedocs/projects/constants.py index 783588908f1..ce36a1a442b 100644 --- a/readthedocs/projects/constants.py +++ b/readthedocs/projects/constants.py @@ -377,6 +377,10 @@ GITHUB_PR_PULL_PATTERN = 'pull/{id}/head:external-{id}' GITLAB_MR_PULL_PATTERN = 'merge-requests/{id}/head:external-{id}' +# Git provider names +GITHUB_BRAND = 'GitHub' +GITLAB_BRAND = 'GitLab' + # Set 3 priorities, [low, medium, high] -- default is medium # Leave some space on each side of the set to expand if needed CELERY_LOW = 3 diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index 7ea700f6371..b7d41d70613 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -67,9 +67,9 @@ ) from readthedocs.doc_builder.loader import get_builder_class from readthedocs.doc_builder.python_environments import Conda, Virtualenv -from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.oauth.models import RemoteRepository from readthedocs.oauth.notifications import GitBuildStatusFailureNotification +from readthedocs.projects.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.models import APIProject, Feature from readthedocs.search.utils import index_new_files, remove_indexed_files from readthedocs.sphinx_domains.models import SphinxDomain diff --git a/readthedocs/rtd_tests/tests/test_project.py b/readthedocs/rtd_tests/tests/test_project.py index 32d5d0aaeb8..e56f680761e 100644 --- a/readthedocs/rtd_tests/tests/test_project.py +++ b/readthedocs/rtd_tests/tests/test_project.py @@ -20,8 +20,8 @@ TAG, ) from readthedocs.builds.models import Build, Version -from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.oauth.services import GitHubService, GitLabService +from readthedocs.projects.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.exceptions import ProjectConfigurationError from readthedocs.projects.models import Project from readthedocs.projects.tasks import finish_inactive_builds diff --git a/readthedocs/vcs_support/backends/git.py b/readthedocs/vcs_support/backends/git.py index db8c484bf86..f96b7fcbb11 100644 --- a/readthedocs/vcs_support/backends/git.py +++ b/readthedocs/vcs_support/backends/git.py @@ -11,9 +11,10 @@ from readthedocs.builds.constants import EXTERNAL from readthedocs.config import ALL -from readthedocs.oauth.constants import GITHUB_BRAND, GITLAB_BRAND from readthedocs.projects.constants import ( + GITHUB_BRAND, GITHUB_PR_PULL_PATTERN, + GITLAB_BRAND, GITLAB_MR_PULL_PATTERN, ) from readthedocs.projects.exceptions import RepositoryError From 41bebc914b54308a35b684c7827c2c31ae2e1618 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 3 Dec 2020 22:16:00 +0600 Subject: [PATCH 35/89] Fix Tests --- readthedocs/rtd_tests/tests/test_oauth.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/readthedocs/rtd_tests/tests/test_oauth.py b/readthedocs/rtd_tests/tests/test_oauth.py index 194101b8fd2..1236839a238 100644 --- a/readthedocs/rtd_tests/tests/test_oauth.py +++ b/readthedocs/rtd_tests/tests/test_oauth.py @@ -13,6 +13,7 @@ GitHubWebhook, GitLabWebhook, ) +from readthedocs.oauth.constants import GITHUB, BITBUCKET, GITLAB from readthedocs.oauth.models import RemoteOrganization, RemoteRepository from readthedocs.oauth.services import ( BitbucketService, @@ -58,6 +59,7 @@ def test_make_project_pass(self): repo_json = { 'name': 'testrepo', 'full_name': 'testuser/testrepo', + 'id': '12345678', 'description': 'Test Repo', 'git_url': 'git://github.com/testuser/testrepo.git', 'private': False, @@ -71,6 +73,8 @@ def test_make_project_pass(self): self.assertIsInstance(repo, RemoteRepository) self.assertEqual(repo.name, 'testrepo') self.assertEqual(repo.full_name, 'testuser/testrepo') + self.assertEqual(repo.remote_id, '12345678') + self.assertEqual(repo.vcs_provider, GITHUB) self.assertEqual(repo.description, 'Test Repo') self.assertEqual( repo.avatar_url, @@ -90,6 +94,7 @@ def test_make_project_fail(self): repo_json = { 'name': '', 'full_name': '', + 'id': '', 'description': '', 'git_url': '', 'private': True, @@ -127,6 +132,7 @@ def test_multiple_users_same_repo(self): repo_json = { 'name': '', 'full_name': 'testrepo/multiple', + 'id': '12345678', 'description': '', 'git_url': '', 'private': False, @@ -228,6 +234,7 @@ def test_make_private_project(self): repo_json = { 'name': 'testrepo', 'full_name': 'testuser/testrepo', + 'id': '12345678', 'description': 'Test Repo', 'git_url': 'git://github.com/testuser/testrepo.git', 'private': False, @@ -576,6 +583,8 @@ def test_make_project_pass(self): self.assertIsInstance(repo, RemoteRepository) self.assertEqual(repo.name, 'tutorials.bitbucket.org') self.assertEqual(repo.full_name, 'tutorials/tutorials.bitbucket.org') + self.assertEqual(repo.remote_id, '{9970a9b6-2d86-413f-8555-da8e1ac0e542}') + self.assertEqual(repo.vcs_provider, BITBUCKET) self.assertEqual(repo.description, 'Site for tutorial101 files') self.assertEqual( repo.avatar_url, ( @@ -957,6 +966,8 @@ def test_make_project_pass(self): self.assertIsInstance(repo, RemoteRepository) self.assertEqual(repo.name, 'testrepo') self.assertEqual(repo.full_name, 'testorga / testrepo') + self.assertEqual(repo.remote_id, 42) + self.assertEqual(repo.vcs_provider, GITLAB) self.assertEqual(repo.description, 'Test Repo') self.assertEqual( repo.avatar_url, From 1d48b9342ffa0a33e92e52ad1ba553a386d45a20 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Fri, 4 Dec 2020 14:30:37 +0600 Subject: [PATCH 36/89] Update parts of code that were using the onld model fields --- readthedocs/api/v2/views/model_views.py | 2 +- readthedocs/oauth/services/bitbucket.py | 1 - readthedocs/rtd_tests/tests/test_oauth_sync.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index 431c0ec3f25..6954f26a8b7 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -392,7 +392,7 @@ def get_queryset(self): own = self.request.query_params.get('own', None) if own is not None: query = query.filter( - account__provider=own, + remote_repository_relations__account__provider=own, organization=None, ) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index c0e8cf21949..5b2b4e04df6 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -169,7 +169,6 @@ def create_repository(self, fields, privacy=None, organization=None): repo.html_url = fields['links']['html']['href'] repo.vcs = fields['scm'] repo.default_branch = fields.get('mainbranch', {}).get('name') - repo.account = self.account avatar_url = fields['links']['avatar']['href'] or '' repo.avatar_url = re.sub(r'\/16\/$', r'/32/', avatar_url) diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index 08a9b6a3424..3419ba05ca6 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -151,7 +151,7 @@ def test_sync_repositories(self, mock_request): self.assertIsInstance(remote_repository, RemoteRepository) self.assertEqual(remote_repository.full_name, 'organization/repository') self.assertEqual(remote_repository.name, 'repository') - self.assertFalse(remote_repository.admin) + self.assertFalse(remote_repository.remote_repository_relations.first().admin) self.assertFalse(remote_repository.private) @requests_mock.Mocker(kw='mock_request') From 8df0032445be08b441617d72a0cd0cbc2c8261e3 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 5 Dec 2020 20:55:19 +0600 Subject: [PATCH 37/89] Use same variable naming for remote_repository_relation everywhere --- readthedocs/oauth/services/bitbucket.py | 22 ++++++++++++---------- readthedocs/oauth/services/github.py | 18 +++++++++++------- readthedocs/oauth/services/gitlab.py | 18 ++++++++++-------- readthedocs/oauth/utils.py | 10 ++++++---- 4 files changed, 39 insertions(+), 29 deletions(-) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 5b2b4e04df6..5752eeb109b 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -71,9 +71,9 @@ def sync_repositories(self): ] ) ) - for remote_relation in admin_repo_relations: - remote_relation.admin = True - remote_relation.save() + for remote_repository_relation in admin_repo_relations: + remote_repository_relation.admin = True + remote_repository_relation.save() except (TypeError, ValueError): pass @@ -133,10 +133,12 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) - remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( - remoterepository=repo, - user=self.user, - account=self.account + remote_repository_relation, _ = ( + RemoteRepositoryRelation.objects.get_or_create( + remoterepository=repo, + user=self.user, + account=self.account + ) ) if repo.organization and repo.organization != organization: @@ -177,9 +179,9 @@ def create_repository(self, fields, privacy=None, organization=None): repo.save() - remote_relation.account = self.account - remote_relation.json = fields - remote_relation.save() + remote_repository_relation.account = self.account + remote_repository_relation.json = fields + remote_repository_relation.save() return repo diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index f0bfa9ef074..67d46334282 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -108,10 +108,12 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) - remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( - remoterepository=repo, - user=self.user, - account=self.account + remote_repository_relation, _ = ( + RemoteRepositoryRelation.objects.get_or_create( + remoterepository=repo, + user=self.user, + account=self.account + ) ) if repo.organization and repo.organization != organization: @@ -143,9 +145,11 @@ def create_repository(self, fields, privacy=None, organization=None): repo.save() - remote_relation.json = fields - remote_relation.admin = fields.get('permissions', {}).get('admin', False) - remote_relation.save() + remote_repository_relation.json = fields + remote_repository_relation.admin = fields.get( + 'permissions', {} + ).get('admin', False) + remote_repository_relation.save() return repo diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 647faade33a..ef62916509e 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -167,10 +167,12 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['name_with_namespace'] ) - remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( - remoterepository=repo, - user=self.user, - account=self.account + remote_repository_relation, _ = ( + RemoteRepositoryRelation.objects.get_or_create( + remoterepository=repo, + user=self.user, + account=self.account + ) ) if repo.organization and repo.organization != organization: @@ -216,13 +218,13 @@ def create_repository(self, fields, privacy=None, organization=None): if group_access: group_access_level = group_access.get('access_level', self.PERMISSION_NO_ACCESS) - remote_relation.admin = any([ + remote_repository_relation.admin = any([ project_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), group_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), ]) - remote_relation.account = self.account - remote_relation.json = fields - remote_relation.save() + remote_repository_relation.account = self.account + remote_repository_relation.json = fields + remote_repository_relation.save() return repo diff --git a/readthedocs/oauth/utils.py b/readthedocs/oauth/utils.py index 96a00b449cd..8a3029e8c59 100644 --- a/readthedocs/oauth/utils.py +++ b/readthedocs/oauth/utils.py @@ -31,10 +31,12 @@ def update_webhook(project, integration, request=None): updated = False try: - remote_repository_relations = project.remote_repository.remote_repository_relations.filter( - account__isnull=False, - user=request.user - ).select_related('account') + remote_repository_relations = ( + project.remote_repository.remote_repository_relations.filter( + account__isnull=False, + user=request.user + ).select_related('account') + ) for relation in remote_repository_relations: service = service_cls(request.user, relation.account) From bddaca21c438a51f26f34ca31a79f808ff64740d Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sun, 6 Dec 2020 13:34:23 +0600 Subject: [PATCH 38/89] Do not set remote_repository_relation.account again --- readthedocs/oauth/services/bitbucket.py | 1 - readthedocs/oauth/services/gitlab.py | 1 - 2 files changed, 2 deletions(-) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 5752eeb109b..660783cab5c 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -179,7 +179,6 @@ def create_repository(self, fields, privacy=None, organization=None): repo.save() - remote_repository_relation.account = self.account remote_repository_relation.json = fields remote_repository_relation.save() diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index ef62916509e..280b43e7abf 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -222,7 +222,6 @@ def create_repository(self, fields, privacy=None, organization=None): project_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), group_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), ]) - remote_repository_relation.account = self.account remote_repository_relation.json = fields remote_repository_relation.save() From 3575d5cf01cb1ed927bf1f1848acf881d2f3a438 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sun, 6 Dec 2020 13:51:17 +0600 Subject: [PATCH 39/89] Move redundant code to base Service class --- readthedocs/oauth/services/base.py | 14 +++++++++++++- readthedocs/oauth/services/bitbucket.py | 8 +------- readthedocs/oauth/services/github.py | 9 +-------- readthedocs/oauth/services/gitlab.py | 9 +-------- 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 89644ec793c..5c3929c2e75 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -6,12 +6,13 @@ from allauth.socialaccount.models import SocialAccount from allauth.socialaccount.providers import registry from django.conf import settings -from django.db.models import Q from django.utils import timezone from oauthlib.oauth2.rfc6749.errors import InvalidClientIdError from requests.exceptions import RequestException from requests_oauthlib import OAuth2Session +from readthedocs.oauth.models import RemoteRepositoryRelation + log = logging.getLogger(__name__) @@ -217,6 +218,17 @@ def sync(self): .delete() ) + def get_remote_relation(self, repo): + """Return RemoteRepositoryRelation object for a given remote repository.""" + remote_repository_relation, _ = ( + RemoteRepositoryRelation.objects.get_or_create( + remoterepository=repo, + user=self.user, + account=self.account + ) + ) + return remote_repository_relation + def create_repository(self, fields, privacy=None, organization=None): """ Update or create a repository from API response. diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 660783cab5c..9fae9ad7633 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -133,13 +133,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) - remote_repository_relation, _ = ( - RemoteRepositoryRelation.objects.get_or_create( - remoterepository=repo, - user=self.user, - account=self.account - ) - ) + remote_repository_relation = self.get_remote_relation(repo) if repo.organization and repo.organization != organization: log.debug( diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 67d46334282..ba467ed6704 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -23,7 +23,6 @@ from ..models import ( RemoteOrganization, RemoteRepository, - RemoteRepositoryRelation, ) from .base import Service, SyncServiceError @@ -108,13 +107,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) - remote_repository_relation, _ = ( - RemoteRepositoryRelation.objects.get_or_create( - remoterepository=repo, - user=self.user, - account=self.account - ) - ) + remote_repository_relation = self.get_remote_relation(repo) if repo.organization and repo.organization != organization: log.debug( diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 280b43e7abf..05d702b761a 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -22,7 +22,6 @@ from ..models import ( RemoteOrganization, RemoteRepository, - RemoteRepositoryRelation, ) from .base import Service, SyncServiceError @@ -167,13 +166,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['name_with_namespace'] ) - remote_repository_relation, _ = ( - RemoteRepositoryRelation.objects.get_or_create( - remoterepository=repo, - user=self.user, - account=self.account - ) - ) + remote_repository_relation = self.get_remote_relation(repo) if repo.organization and repo.organization != organization: log.debug( From 8b89483296a821919f166e2f38473b1f48bfcbaf Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sun, 6 Dec 2020 13:54:50 +0600 Subject: [PATCH 40/89] Rename get_remote_relation method --- readthedocs/oauth/services/base.py | 2 +- readthedocs/oauth/services/bitbucket.py | 2 +- readthedocs/oauth/services/github.py | 2 +- readthedocs/oauth/services/gitlab.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 5c3929c2e75..15a5bca5671 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -218,7 +218,7 @@ def sync(self): .delete() ) - def get_remote_relation(self, repo): + def get_remote_repository_relation(self, repo): """Return RemoteRepositoryRelation object for a given remote repository.""" remote_repository_relation, _ = ( RemoteRepositoryRelation.objects.get_or_create( diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 9fae9ad7633..5a64036a436 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -133,7 +133,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) - remote_repository_relation = self.get_remote_relation(repo) + remote_repository_relation = self.get_remote_repository_relation(repo) if repo.organization and repo.organization != organization: log.debug( diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index ba467ed6704..4dd3347c2de 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -107,7 +107,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['full_name'] ) - remote_repository_relation = self.get_remote_relation(repo) + remote_repository_relation = self.get_remote_repository_relation(repo) if repo.organization and repo.organization != organization: log.debug( diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 05d702b761a..36c73ff1ade 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -166,7 +166,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( full_name=fields['name_with_namespace'] ) - remote_repository_relation = self.get_remote_relation(repo) + remote_repository_relation = self.get_remote_repository_relation(repo) if repo.organization and repo.organization != organization: log.debug( From 15ddb3da5c3da8f9f4979d01c6cbfdaa782c4378 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 7 Dec 2020 19:25:53 +0600 Subject: [PATCH 41/89] update lint --- readthedocs/oauth/services/github.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 4dd3347c2de..16d2dc5e45f 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -139,9 +139,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo.save() remote_repository_relation.json = fields - remote_repository_relation.admin = fields.get( - 'permissions', {} - ).get('admin', False) + remote_repository_relation.admin = fields.get('permissions', {}).get('admin', False) remote_repository_relation.save() return repo From 42e1d52180dfcb29fb44307d1ebce1ada50b5eac Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 8 Dec 2020 13:53:50 +0600 Subject: [PATCH 42/89] Update send build status task to use the new RemoteRepositoryRelation modeling --- readthedocs/projects/tasks.py | 64 ++++++++++++---------- readthedocs/rtd_tests/tests/test_celery.py | 24 +++++--- 2 files changed, 51 insertions(+), 37 deletions(-) diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index b7d41d70613..8310a816cf4 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -1906,8 +1906,6 @@ def send_build_status(build_pk, commit, status): :param status: build status failed, pending, or success to be sent. """ # TODO: Send build status for BitBucket. - service = None - success = None build = Build.objects.get(pk=build_pk) provider_name = build.project.git_provider_name @@ -1916,43 +1914,49 @@ def send_build_status(build_pk, commit, status): if provider_name in [GITHUB_BRAND, GITLAB_BRAND]: # get the service class for the project e.g: GitHubService. service_class = build.project.git_service_class() + users = build.project.users.all() - # First, try using user who imported the project's account try: - service = service_class( - build.project.remote_repository.users.first(), - build.project.remote_repository.account + remote_repository = build.project.remote_repository + # TODO: Update this queryset to make it work on commercial + remote_repository_relations = ( + remote_repository.remote_repository_relations.filter( + account__isnull=False, + user__projects=build.project + ).select_related('account', 'user').only('user', 'account') ) + # Try using any of the users' maintainer accounts + # Try to loop through all remote repository relations for the projects users + for relation in remote_repository_relations: + service = service_class(relation.user, relation.account) + # Send status report using the API. + success = service.send_build_status(build, commit, status) + + if success: + log.info( + 'Build status report sent correctly. ' + 'project=%s build=%s status=%s commit=%s user=%s', + build.project.slug, + build.pk, + status, + commit, + relation.user.username, + ) + return True + except RemoteRepository.DoesNotExist: log.warning( 'Project does not have a RemoteRepository. project=%s', build.project.slug, ) - - if service is not None: - # Send status report using the API. - success = service.send_build_status(build, commit, status) - - if success: - log.info( - 'Build status report sent correctly. project=%s build=%s status=%s commit=%s', - build.project.slug, - build.pk, - status, - commit, - ) - return True - - # Try using any of the users' maintainer accounts - # Try to loop through all project users to get their social accounts - users = build.project.users.all() - for user in users: - user_accounts = service_class.for_user(user) - # Try to loop through users all social accounts to send a successful request - for account in user_accounts: - if account.provider_name == provider_name: - success = account.send_build_status(build, commit, status) + # Try to send build status for projects with no RemoteRepository + for user in users: + services = service_class.for_user(user) + # Try to loop through services for users all social accounts + # to send successful build status + for service in services: + success = service.send_build_status(build, commit, status) if success: log.info( 'Build status report sent correctly using an user account. ' diff --git a/readthedocs/rtd_tests/tests/test_celery.py b/readthedocs/rtd_tests/tests/test_celery.py index 90b28ba7ece..892e3696764 100644 --- a/readthedocs/rtd_tests/tests/test_celery.py +++ b/readthedocs/rtd_tests/tests/test_celery.py @@ -19,7 +19,7 @@ from readthedocs.builds.models import Build, Version from readthedocs.doc_builder.environments import LocalBuildEnvironment from readthedocs.doc_builder.exceptions import VersionLockedError -from readthedocs.oauth.models import RemoteRepository +from readthedocs.oauth.models import RemoteRepository, RemoteRepositoryRelation from readthedocs.projects import tasks from readthedocs.projects.exceptions import RepositoryError from readthedocs.projects.models import Project @@ -344,9 +344,14 @@ def test_send_build_status_with_remote_repo_github(self, send_build_status): self.project.repo = 'https://github.com/test/test/' self.project.save() - social_account = get(SocialAccount, provider='github') - remote_repo = get(RemoteRepository, account=social_account, project=self.project) - remote_repo.users.add(self.eric) + social_account = get(SocialAccount, user=self.eric, provider='gitlab') + remote_repo = get(RemoteRepository, project=self.project) + get( + RemoteRepositoryRelation, + remoterepository=remote_repo, + user=self.eric, + account=social_account + ) external_version = get(Version, project=self.project, type=EXTERNAL) external_build = get( @@ -401,9 +406,14 @@ def test_send_build_status_with_remote_repo_gitlab(self, send_build_status): self.project.repo = 'https://gitlab.com/test/test/' self.project.save() - social_account = get(SocialAccount, provider='gitlab') - remote_repo = get(RemoteRepository, account=social_account, project=self.project) - remote_repo.users.add(self.eric) + social_account = get(SocialAccount, user=self.eric, provider='gitlab') + remote_repo = get(RemoteRepository, project=self.project) + get( + RemoteRepositoryRelation, + remoterepository=remote_repo, + user=self.eric, + account=social_account + ) external_version = get(Version, project=self.project, type=EXTERNAL) external_build = get( From ef99b33b04c57f141930ee2aacf2c02b84edb64c Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 8 Dec 2020 20:49:49 +0600 Subject: [PATCH 43/89] Use remote_id and vcs_provider to get RemoteRepository on sync --- readthedocs/oauth/services/bitbucket.py | 11 ++++++----- readthedocs/oauth/services/github.py | 6 +++--- readthedocs/oauth/services/gitlab.py | 6 +++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index c0e8cf21949..807b86ffdb4 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -66,8 +66,9 @@ def sync_repositories(self): RemoteRepositoryRelation.objects.filter( user=self.user, account=self.account, - remoterepository__full_name__in=[ - r['full_name'] for r in resp + remoterepository__vcs_provider=BITBUCKET, + remoterepository__remote_id__in=[ + r['uuid'] for r in resp ] ) ) @@ -131,7 +132,8 @@ def create_repository(self, fields, privacy=None, organization=None): (fields['is_private'] is False and privacy == 'public'), ]): repo, _ = RemoteRepository.objects.get_or_create( - full_name=fields['full_name'] + remote_id=fields['uuid'], + vcs_provider=BITBUCKET ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, @@ -148,8 +150,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo.organization = organization repo.name = fields['name'] - repo.remote_id = fields['uuid'] - repo.vcs_provider = BITBUCKET + repo.full_name = fields['full_name'] repo.description = fields['description'] repo.private = fields['is_private'] diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index f0bfa9ef074..35bc66d5955 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -106,7 +106,8 @@ def create_repository(self, fields, privacy=None, organization=None): ]): repo, _ = RemoteRepository.objects.get_or_create( - full_name=fields['full_name'] + remote_id=fields['id'], + vcs_provider=GITHUB ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, @@ -122,9 +123,8 @@ def create_repository(self, fields, privacy=None, organization=None): return None repo.organization = organization - repo.remote_id = fields['id'] - repo.vcs_provider = GITHUB repo.name = fields['name'] + repo.full_name = fields['full_name'] repo.description = fields['description'] repo.ssh_url = fields['ssh_url'] repo.html_url = fields['html_url'] diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 647faade33a..258ef7eeda1 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -165,7 +165,8 @@ def create_repository(self, fields, privacy=None, organization=None): repo_is_public = fields['visibility'] == 'public' if privacy == 'private' or (repo_is_public and privacy == 'public'): repo, _ = RemoteRepository.objects.get_or_create( - full_name=fields['name_with_namespace'] + remote_id=fields['id'], + vcs_provider=GITLAB ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, @@ -181,9 +182,8 @@ def create_repository(self, fields, privacy=None, organization=None): return None repo.organization = organization - repo.remote_id = fields['id'] - repo.vcs_provider = GITLAB repo.name = fields['name'] + repo.full_name = fields['name_with_namespace'] repo.description = fields['description'] repo.ssh_url = fields['ssh_url_to_repo'] repo.html_url = fields['web_url'] From 6c0b22d30795dde1517d497f3df3a802b89bde8d Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 8 Dec 2020 21:55:49 +0600 Subject: [PATCH 44/89] Update sync() method to use remote_id and vcs_provider to delete repos --- readthedocs/oauth/services/base.py | 8 ++++++-- readthedocs/oauth/services/bitbucket.py | 5 +++-- readthedocs/oauth/services/github.py | 3 ++- readthedocs/oauth/services/gitlab.py | 4 +++- readthedocs/rtd_tests/tests/test_oauth_sync.py | 7 +++++++ 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 89644ec793c..c9f157a8cd7 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -34,6 +34,7 @@ class Service: adapter = None url_pattern = None + PROVIDER_SLUG = None default_user_avatar_url = settings.OAUTH_AVATAR_USER_DEFAULT_URL default_org_avatar_url = settings.OAUTH_AVATAR_ORG_DEFAULT_URL @@ -200,10 +201,13 @@ def sync(self): # Delete RemoteRepository where the user doesn't have access anymore # (skip RemoteRepository tied to a Project on this user) all_remote_repositories = remote_repositories + remote_repositories_organizations - repository_full_names = [r.full_name for r in all_remote_repositories if r is not None] + repository_remote_ids = [r.remote_id for r in all_remote_repositories if r is not None] ( self.user.remote_repository_relations - .exclude(remoterepository__full_name__in=repository_full_names) + .exclude( + remoterepository__remote_id__in=repository_remote_ids, + remoterepository__vcs_provider=self.PROVIDER_SLUG + ) .filter(account=self.account) .delete() ) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 807b86ffdb4..def6ad9918f 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -34,6 +34,7 @@ class BitbucketService(Service): # TODO replace this with a less naive check url_pattern = re.compile(r'bitbucket.org') https_url_pattern = re.compile(r'^https:\/\/[^@]+@bitbucket.org/') + PROVIDER_SLUG = BITBUCKET def sync_repositories(self): """Sync repositories from Bitbucket API.""" @@ -66,7 +67,7 @@ def sync_repositories(self): RemoteRepositoryRelation.objects.filter( user=self.user, account=self.account, - remoterepository__vcs_provider=BITBUCKET, + remoterepository__vcs_provider=self.PROVIDER_SLUG, remoterepository__remote_id__in=[ r['uuid'] for r in resp ] @@ -133,7 +134,7 @@ def create_repository(self, fields, privacy=None, organization=None): ]): repo, _ = RemoteRepository.objects.get_or_create( remote_id=fields['uuid'], - vcs_provider=BITBUCKET + vcs_provider=self.PROVIDER_SLUG ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 35bc66d5955..af41020313b 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -37,6 +37,7 @@ class GitHubService(Service): adapter = GitHubOAuth2Adapter # TODO replace this with a less naive check url_pattern = re.compile(r'github\.com') + PROVIDER_SLUG = GITHUB def sync_repositories(self): """Sync repositories from GitHub API.""" @@ -107,7 +108,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( remote_id=fields['id'], - vcs_provider=GITHUB + vcs_provider=self.PROVIDER_SLUG ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 258ef7eeda1..b9cdea60c1d 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -50,6 +50,8 @@ class GitLabService(Service): PERMISSION_MAINTAINER = 40 PERMISSION_OWNER = 50 + PROVIDER_SLUG = GITLAB + def _get_repo_id(self, project): # The ID or URL-encoded path of the project # https://docs.gitlab.com/ce/api/README.html#namespaced-path-encoding @@ -166,7 +168,7 @@ def create_repository(self, fields, privacy=None, organization=None): if privacy == 'private' or (repo_is_public and privacy == 'public'): repo, _ = RemoteRepository.objects.get_or_create( remote_id=fields['id'], - vcs_provider=GITLAB + vcs_provider=self.PROVIDER_SLUG ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index 08a9b6a3424..3260c788471 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -6,6 +6,7 @@ from django.contrib.auth.models import User from django.test import TestCase +from readthedocs.oauth.constants import GITHUB from readthedocs.oauth.models import ( RemoteOrganization, RemoteRepository, @@ -79,6 +80,8 @@ def test_sync_delete_stale(self, mock_request): repo_1 = fixture.get( RemoteRepository, full_name='organization/repository', + remote_id='11111', + vcs_provider=GITHUB ) fixture.get( RemoteRepositoryRelation, @@ -90,6 +93,8 @@ def test_sync_delete_stale(self, mock_request): repo_2 = fixture.get( RemoteRepository, full_name='organization/old-repository', + remote_id='64789', + vcs_provider=GITHUB ) fixture.get( RemoteRepositoryRelation, @@ -105,6 +110,8 @@ def test_sync_delete_stale(self, mock_request): RemoteRepository, project=project, full_name='organization/project-linked-repository', + remote_id='54321', + vcs_provider=GITHUB ) fixture.get( RemoteRepositoryRelation, From eb4c625bcffbfaeba448ad7c3822d9795e749f2c Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 10 Dec 2020 21:12:33 +0600 Subject: [PATCH 45/89] Update provider slug class variable name --- readthedocs/oauth/services/base.py | 4 ++-- readthedocs/oauth/services/bitbucket.py | 6 +++--- readthedocs/oauth/services/github.py | 4 ++-- readthedocs/oauth/services/gitlab.py | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index c9f157a8cd7..92370ee1562 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -34,7 +34,7 @@ class Service: adapter = None url_pattern = None - PROVIDER_SLUG = None + vcs_provider_slug = None default_user_avatar_url = settings.OAUTH_AVATAR_USER_DEFAULT_URL default_org_avatar_url = settings.OAUTH_AVATAR_ORG_DEFAULT_URL @@ -206,7 +206,7 @@ def sync(self): self.user.remote_repository_relations .exclude( remoterepository__remote_id__in=repository_remote_ids, - remoterepository__vcs_provider=self.PROVIDER_SLUG + remoterepository__vcs_provider=self.vcs_provider_slug ) .filter(account=self.account) .delete() diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index def6ad9918f..acd11b50a8f 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -34,7 +34,7 @@ class BitbucketService(Service): # TODO replace this with a less naive check url_pattern = re.compile(r'bitbucket.org') https_url_pattern = re.compile(r'^https:\/\/[^@]+@bitbucket.org/') - PROVIDER_SLUG = BITBUCKET + vcs_provider_slug = BITBUCKET def sync_repositories(self): """Sync repositories from Bitbucket API.""" @@ -67,7 +67,7 @@ def sync_repositories(self): RemoteRepositoryRelation.objects.filter( user=self.user, account=self.account, - remoterepository__vcs_provider=self.PROVIDER_SLUG, + remoterepository__vcs_provider=self.vcs_provider_slug, remoterepository__remote_id__in=[ r['uuid'] for r in resp ] @@ -134,7 +134,7 @@ def create_repository(self, fields, privacy=None, organization=None): ]): repo, _ = RemoteRepository.objects.get_or_create( remote_id=fields['uuid'], - vcs_provider=self.PROVIDER_SLUG + vcs_provider=self.vcs_provider_slug ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index af41020313b..2cbd9b869b5 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -37,7 +37,7 @@ class GitHubService(Service): adapter = GitHubOAuth2Adapter # TODO replace this with a less naive check url_pattern = re.compile(r'github\.com') - PROVIDER_SLUG = GITHUB + vcs_provider_slug = GITHUB def sync_repositories(self): """Sync repositories from GitHub API.""" @@ -108,7 +108,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo, _ = RemoteRepository.objects.get_or_create( remote_id=fields['id'], - vcs_provider=self.PROVIDER_SLUG + vcs_provider=self.vcs_provider_slug ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index b9cdea60c1d..98f606ca3eb 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -50,7 +50,7 @@ class GitLabService(Service): PERMISSION_MAINTAINER = 40 PERMISSION_OWNER = 50 - PROVIDER_SLUG = GITLAB + vcs_provider_slug = GITLAB def _get_repo_id(self, project): # The ID or URL-encoded path of the project @@ -168,7 +168,7 @@ def create_repository(self, fields, privacy=None, organization=None): if privacy == 'private' or (repo_is_public and privacy == 'public'): repo, _ = RemoteRepository.objects.get_or_create( remote_id=fields['id'], - vcs_provider=self.PROVIDER_SLUG + vcs_provider=self.vcs_provider_slug ) remote_relation, _ = RemoteRepositoryRelation.objects.get_or_create( remoterepository=repo, From 3e97c21cd164a3af83833f457267fb5e5ae80324 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 10 Dec 2020 23:43:07 +0600 Subject: [PATCH 46/89] Use path_with_namespace for GitLab RemoteRepository full_name Field --- readthedocs/oauth/services/gitlab.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 4ce292965ac..abd5085213f 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -180,7 +180,7 @@ def create_repository(self, fields, privacy=None, organization=None): repo.organization = organization repo.name = fields['name'] - repo.full_name = fields['name_with_namespace'] + repo.full_name = fields['path_with_namespace'] repo.description = fields['description'] repo.ssh_url = fields['ssh_url_to_repo'] repo.html_url = fields['web_url'] @@ -224,7 +224,7 @@ def create_repository(self, fields, privacy=None, organization=None): log.info( 'Not importing %s because mismatched type: visibility=%s', - fields['name_with_namespace'], + fields['path_with_namespace'], fields['visibility'], ) From fde005b862ec26222e0ae26e3ea4752834e5c1a6 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 10 Dec 2020 23:47:10 +0600 Subject: [PATCH 47/89] Update GitLabOAuthTests --- readthedocs/rtd_tests/tests/test_oauth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/rtd_tests/tests/test_oauth.py b/readthedocs/rtd_tests/tests/test_oauth.py index 1236839a238..3b57be769ca 100644 --- a/readthedocs/rtd_tests/tests/test_oauth.py +++ b/readthedocs/rtd_tests/tests/test_oauth.py @@ -965,7 +965,7 @@ def test_make_project_pass(self): ) self.assertIsInstance(repo, RemoteRepository) self.assertEqual(repo.name, 'testrepo') - self.assertEqual(repo.full_name, 'testorga / testrepo') + self.assertEqual(repo.full_name, 'testorga/testrepo') self.assertEqual(repo.remote_id, 42) self.assertEqual(repo.vcs_provider, GITLAB) self.assertEqual(repo.description, 'Test Repo') From bae9166df80c8b03d81d5551eecfecb4c84b6d6b Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sun, 20 Dec 2020 00:20:08 +0600 Subject: [PATCH 48/89] Update remoterepository field name to remote_repository --- .../oauth/migrations/0013_add_remote_relation_model.py | 4 ++-- readthedocs/oauth/models.py | 4 ++-- readthedocs/oauth/services/base.py | 6 +++--- readthedocs/oauth/services/bitbucket.py | 4 ++-- readthedocs/rtd_tests/tests/test_api.py | 6 +++--- readthedocs/rtd_tests/tests/test_celery.py | 4 ++-- readthedocs/rtd_tests/tests/test_oauth_sync.py | 6 +++--- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/readthedocs/oauth/migrations/0013_add_remote_relation_model.py b/readthedocs/oauth/migrations/0013_add_remote_relation_model.py index de2f4d1851b..6c013aebc16 100644 --- a/readthedocs/oauth/migrations/0013_add_remote_relation_model.py +++ b/readthedocs/oauth/migrations/0013_add_remote_relation_model.py @@ -45,7 +45,7 @@ class Migration(migrations.Migration): ), ), ( - 'remoterepository', + 'remote_repository', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', @@ -80,7 +80,7 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='remoterepositoryrelation', - unique_together={('remoterepository', 'account')}, + unique_together={('remote_repository', 'account')}, ), migrations.AddField( model_name='remoterepositoryrelation', diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 7933af62acf..2191c560e7d 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -225,7 +225,7 @@ def matches(self, user): class RemoteRepositoryRelation(TimeStampedModel): - remoterepository = models.ForeignKey( + remote_repository = models.ForeignKey( RemoteRepository, related_name='remote_repository_relations', on_delete=models.CASCADE @@ -247,7 +247,7 @@ class RemoteRepositoryRelation(TimeStampedModel): json = JSONField(_('Serialized API response')) class Meta: - unique_together = (('remoterepository', 'account'),) + unique_together = (('remote_repository', 'account'),) def get_serialized(self, key=None, default=None): try: diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 948e9c01254..e718a94b62f 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -206,8 +206,8 @@ def sync(self): ( self.user.remote_repository_relations .exclude( - remoterepository__remote_id__in=repository_remote_ids, - remoterepository__vcs_provider=self.vcs_provider_slug + remote_repository__remote_id__in=repository_remote_ids, + remote_repository__vcs_provider=self.vcs_provider_slug ) .filter(account=self.account) .delete() @@ -226,7 +226,7 @@ def get_remote_repository_relation(self, repo): """Return RemoteRepositoryRelation object for a given remote repository.""" remote_repository_relation, _ = ( RemoteRepositoryRelation.objects.get_or_create( - remoterepository=repo, + remote_repository=repo, user=self.user, account=self.account ) diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 9f48157f0b2..69d15362b23 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -67,8 +67,8 @@ def sync_repositories(self): RemoteRepositoryRelation.objects.filter( user=self.user, account=self.account, - remoterepository__vcs_provider=self.vcs_provider_slug, - remoterepository__remote_id__in=[ + remote_repository__vcs_provider=self.vcs_provider_slug, + remote_repository__remote_id__in=[ r['uuid'] for r in resp ] ) diff --git a/readthedocs/rtd_tests/tests/test_api.py b/readthedocs/rtd_tests/tests/test_api.py index df7304c193c..c4d52115c27 100644 --- a/readthedocs/rtd_tests/tests/test_api.py +++ b/readthedocs/rtd_tests/tests/test_api.py @@ -658,7 +658,7 @@ def test_remote_repository_pagination(self): repo = get(RemoteRepository) get( RemoteRepositoryRelation, - remoterepository=repo, + remote_repository=repo, user=user, account=account ) @@ -779,7 +779,7 @@ def test_permissions(self): ) get( RemoteRepositoryRelation, - remoterepository=repo_a, + remote_repository=repo_a, user=user_a, account=account_a ) @@ -790,7 +790,7 @@ def test_permissions(self): ) get( RemoteRepositoryRelation, - remoterepository=repo_b, + remote_repository=repo_b, user=user_b, account=account_b ) diff --git a/readthedocs/rtd_tests/tests/test_celery.py b/readthedocs/rtd_tests/tests/test_celery.py index 892e3696764..21745c82e6f 100644 --- a/readthedocs/rtd_tests/tests/test_celery.py +++ b/readthedocs/rtd_tests/tests/test_celery.py @@ -348,7 +348,7 @@ def test_send_build_status_with_remote_repo_github(self, send_build_status): remote_repo = get(RemoteRepository, project=self.project) get( RemoteRepositoryRelation, - remoterepository=remote_repo, + remote_repository=remote_repo, user=self.eric, account=social_account ) @@ -410,7 +410,7 @@ def test_send_build_status_with_remote_repo_gitlab(self, send_build_status): remote_repo = get(RemoteRepository, project=self.project) get( RemoteRepositoryRelation, - remoterepository=remote_repo, + remote_repository=remote_repo, user=self.eric, account=social_account ) diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index 88dfaf6a221..6717af15bf8 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -85,7 +85,7 @@ def test_sync_delete_stale(self, mock_request): ) fixture.get( RemoteRepositoryRelation, - remoterepository=repo_1, + remote_repository=repo_1, user=self.user, account=self.socialaccount ) @@ -98,7 +98,7 @@ def test_sync_delete_stale(self, mock_request): ) fixture.get( RemoteRepositoryRelation, - remoterepository=repo_2, + remote_repository=repo_2, user=self.user, account=self.socialaccount ) @@ -115,7 +115,7 @@ def test_sync_delete_stale(self, mock_request): ) fixture.get( RemoteRepositoryRelation, - remoterepository=repo_3, + remote_repository=repo_3, user=self.user, account=self.socialaccount ) From 39cd6fab2a94802d391df32cfb946a9cd304a237 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 22 Dec 2020 12:45:51 +0600 Subject: [PATCH 49/89] Add migration to create a new table for RemoteRepository and RemoteRepositoryRelation --- readthedocs/api/v2/serializers.py | 3 +- ...12_add_remote_id_and_vcs_provider_field.py | 23 ---- ...ble_for_remote_repository_normalization.py | 73 +++++++++++ .../0013_add_remote_relation_model.py | 120 ------------------ readthedocs/oauth/models.py | 24 +--- 5 files changed, 78 insertions(+), 165 deletions(-) delete mode 100644 readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py create mode 100644 readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py delete mode 100644 readthedocs/oauth/migrations/0013_add_remote_relation_model.py diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index c3a77f535b7..b38ebc4eed4 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -186,8 +186,7 @@ class RemoteRepositorySerializer(serializers.ModelSerializer): class Meta: model = RemoteRepository - # TODO: Remove json field after it is removed from RemoteRepository - exclude = ('json', 'users') + exclude = ('users',) def get_matches(self, obj): request = self.context['request'] diff --git a/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py b/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py deleted file mode 100644 index bdb995f389e..00000000000 --- a/readthedocs/oauth/migrations/0012_add_remote_id_and_vcs_provider_field.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.2.17 on 2020-12-02 15:07 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('oauth', '0011_add_default_branch'), - ] - - operations = [ - migrations.AddField( - model_name='remoterepository', - name='remote_id', - field=models.CharField(db_index=True, blank=True, max_length=128, null=True), - ), - migrations.AddField( - model_name='remoterepository', - name='vcs_provider', - field=models.CharField(blank=True, choices=[('github', 'GitHub'), ('gitlab', 'GitLab'), ('bitbucket', 'Bitbucket')], max_length=32, null=True, verbose_name='VCS provider'), - ), - ] diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py new file mode 100644 index 00000000000..e1286a370db --- /dev/null +++ b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py @@ -0,0 +1,73 @@ +# Generated by Django 2.2.17 on 2020-12-21 18:16 + +from django.conf import settings +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import django_extensions.db.fields +import jsonfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('socialaccount', '0003_extra_data_default_dict'), + ('projects', '0067_change_max_length_feature_id'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('oauth', '0011_add_default_branch'), + ] + + operations = [ + migrations.CreateModel( + name='RemoteRepository', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('pub_date', models.DateTimeField(auto_now_add=True, verbose_name='Publication date')), + ('modified_date', models.DateTimeField(auto_now=True, verbose_name='Modified date')), + ('name', models.CharField(max_length=255, verbose_name='Name')), + ('full_name', models.CharField(db_index=True, max_length=255, verbose_name='Full Name')), + ('description', models.TextField(blank=True, help_text='Description of the project', null=True, verbose_name='Description')), + ('avatar_url', models.URLField(blank=True, null=True, verbose_name='Owner avatar image URL')), + ('ssh_url', models.URLField(blank=True, max_length=512, validators=[django.core.validators.URLValidator(schemes=['ssh'])], verbose_name='SSH URL')), + ('clone_url', models.URLField(blank=True, max_length=512, validators=[django.core.validators.URLValidator(schemes=['http', 'https', 'ssh', 'git', 'svn'])], verbose_name='Repository clone URL')), + ('html_url', models.URLField(blank=True, null=True, verbose_name='HTML URL')), + ('private', models.BooleanField(default=False, verbose_name='Private repository')), + ('vcs', models.CharField(blank=True, choices=[('git', 'Git'), ('svn', 'Subversion'), ('hg', 'Mercurial'), ('bzr', 'Bazaar')], max_length=200, verbose_name='vcs')), + ('default_branch', models.CharField(blank=True, max_length=150, null=True, verbose_name='Default branch of the repository')), + ('remote_id', models.CharField(db_index=True, max_length=128)), + ('vcs_provider', models.CharField(choices=[('github', 'GitHub'), ('gitlab', 'GitLab'), ('bitbucket', 'Bitbucket')], max_length=32, verbose_name='VCS provider')), + ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='repositories', to='oauth.RemoteOrganization', verbose_name='Organization')), + ('project', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remote_repository', to='projects.Project')), + ], + options={ + 'verbose_name_plural': 'remote repositories', + 'db_table': 'oauth_remoterepository_2020', + 'ordering': ['organization__name', 'name'], + }, + ), + migrations.CreateModel( + name='RemoteRepositoryRelation', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), + ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), + ('admin', models.BooleanField(default=False, verbose_name='Has admin privilege')), + ('json', jsonfield.fields.JSONField(verbose_name='Serialized API response')), + ('account', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), + ('remoterepository', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='oauth.RemoteRepository')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'unique_together': {('remoterepository', 'account')}, + }, + ), + migrations.AddField( + model_name='remoterepository', + name='users', + field=models.ManyToManyField(related_name='oauth_repositories', through='oauth.RemoteRepositoryRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users'), + ), + migrations.AlterUniqueTogether( + name='remoterepository', + unique_together={('remote_id', 'vcs_provider')}, + ), + ] diff --git a/readthedocs/oauth/migrations/0013_add_remote_relation_model.py b/readthedocs/oauth/migrations/0013_add_remote_relation_model.py deleted file mode 100644 index 6c013aebc16..00000000000 --- a/readthedocs/oauth/migrations/0013_add_remote_relation_model.py +++ /dev/null @@ -1,120 +0,0 @@ -# Generated by Django 2.2.16 on 2020-10-10 14:55 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - -import django_extensions.db.fields -import jsonfield.fields - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('oauth', '0012_add_remote_id_and_vcs_provider_field'), - ] - - operations = [ - migrations.SeparateDatabaseAndState( - database_operations=[ - migrations.RunSQL( - sql='ALTER TABLE oauth_remoterepository_users RENAME TO oauth_remoterepositoryrelation', - reverse_sql='ALTER TABLE oauth_remoterepositoryrelation RENAME TO oauth_remoterepository_users', - ), - ], - state_operations=[ - migrations.CreateModel( - name='RemoteRepositoryRelation', - fields=[ - ( - 'id', - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name='ID', - ), - ), - ( - 'user', - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name='remote_repository_relations', - to=settings.AUTH_USER_MODEL - ), - ), - ( - 'remote_repository', - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name='remote_repository_relations', - to='oauth.RemoteRepository' - ), - ), - ], - ), - migrations.AlterField( - model_name='remoterepository', - name='users', - field=models.ManyToManyField( - related_name='oauth_repositories', - through='oauth.RemoteRepositoryRelation', - to=settings.AUTH_USER_MODEL, - verbose_name='Users' - ), - ), - ], - ), - migrations.AddField( - model_name='remoterepositoryrelation', - name='account', - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name='remote_repository_relations', - to='socialaccount.SocialAccount', - verbose_name='Connected account' - ), - ), - migrations.AlterUniqueTogether( - name='remoterepositoryrelation', - unique_together={('remote_repository', 'account')}, - ), - migrations.AddField( - model_name='remoterepositoryrelation', - name='admin', - field=models.BooleanField( - default=False, - verbose_name='Has admin privilege' - ), - ), - migrations.AddField( - model_name='remoterepositoryrelation', - name='json', - field=jsonfield.fields.JSONField( - default=dict, - verbose_name='Serialized API response' - ), - preserve_default=False, - ), - migrations.AddField( - model_name='remoterepositoryrelation', - name='created', - field=django_extensions.db.fields.CreationDateTimeField( - auto_now_add=True, - default=django.utils.timezone.now, - verbose_name='created', - ), - preserve_default=False, - ), - migrations.AddField( - model_name='remoterepositoryrelation', - name='modified', - field=django_extensions.db.fields.ModificationDateTimeField( - auto_now=True, - verbose_name='modified' - ), - ), - ] diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 2191c560e7d..e70cc94863e 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -96,14 +96,6 @@ class RemoteRepository(models.Model): related_name='oauth_repositories', through='RemoteRepositoryRelation' ) - account = models.ForeignKey( - SocialAccount, - verbose_name=_('Connected account'), - related_name='remote_repositories', - null=True, - blank=True, - on_delete=models.CASCADE, - ) organization = models.ForeignKey( RemoteOrganization, verbose_name=_('Organization'), @@ -112,8 +104,6 @@ class RemoteRepository(models.Model): blank=True, on_delete=models.CASCADE, ) - active = models.BooleanField(_('Active'), default=False) - project = models.OneToOneField( Project, on_delete=models.SET_NULL, @@ -156,7 +146,6 @@ class RemoteRepository(models.Model): html_url = models.URLField(_('HTML URL'), null=True, blank=True) private = models.BooleanField(_('Private repository'), default=False) - admin = models.BooleanField(_('Has admin privilege'), default=False) vcs = models.CharField( _('vcs'), max_length=200, @@ -169,21 +158,14 @@ class RemoteRepository(models.Model): null=True, blank=True, ) - json = models.TextField(_('Serialized API response')) - # TODO: Make remote_id and vcs_provider not nullable and - # unique together after migration remote_id = models.CharField( db_index=True, - max_length=128, - blank=True, - null=True + max_length=128 ) vcs_provider = models.CharField( _('VCS provider'), choices=VCS_PROVIDER_CHOICES, - max_length=32, - null=True, - blank=True + max_length=32 ) objects = RemoteRepositoryQuerySet.as_manager() @@ -191,6 +173,8 @@ class RemoteRepository(models.Model): class Meta: ordering = ['organization__name', 'name'] verbose_name_plural = 'remote repositories' + unique_together = (('remote_id', 'vcs_provider'),) + db_table = 'oauth_remoterepository_2020' def __str__(self): return 'Remote repository: {}'.format(self.html_url) From b8d3c09c1006c24b213e59fcb8bab2361430f1fb Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 22 Dec 2020 17:36:12 +0600 Subject: [PATCH 50/89] use full_name for RemoteRepository ordering --- ...0012_create_new_table_for_remote_repository_normalization.py | 2 +- readthedocs/oauth/models.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py index e1286a370db..ac593833baf 100644 --- a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py +++ b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py @@ -42,7 +42,7 @@ class Migration(migrations.Migration): options={ 'verbose_name_plural': 'remote repositories', 'db_table': 'oauth_remoterepository_2020', - 'ordering': ['organization__name', 'name'], + 'ordering': ['organization__name', 'full_name'], }, ), migrations.CreateModel( diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index e70cc94863e..9df575ef4d4 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -171,7 +171,7 @@ class RemoteRepository(models.Model): objects = RemoteRepositoryQuerySet.as_manager() class Meta: - ordering = ['organization__name', 'name'] + ordering = ['organization__name', 'full_name'] verbose_name_plural = 'remote repositories' unique_together = (('remote_id', 'vcs_provider'),) db_table = 'oauth_remoterepository_2020' From 2c830e536f6795c0ebda7c3e552ef1f93dac2d14 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 22 Dec 2020 17:47:22 +0600 Subject: [PATCH 51/89] rename remoterepository field in migration --- ...12_create_new_table_for_remote_repository_normalization.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py index ac593833baf..9ea38bc1453 100644 --- a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py +++ b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py @@ -54,11 +54,11 @@ class Migration(migrations.Migration): ('admin', models.BooleanField(default=False, verbose_name='Has admin privilege')), ('json', jsonfield.fields.JSONField(verbose_name='Serialized API response')), ('account', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), - ('remoterepository', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='oauth.RemoteRepository')), + ('remote_repository', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='oauth.RemoteRepository')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to=settings.AUTH_USER_MODEL)), ], options={ - 'unique_together': {('remoterepository', 'account')}, + 'unique_together': {('remote_repository', 'account')}, }, ), migrations.AddField( From e748df662e779bb8c84922d74b09ab0271b1331b Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 22 Dec 2020 20:44:38 +0600 Subject: [PATCH 52/89] Updated RemoteRepository API and import.js --- readthedocs/api/v2/serializers.py | 14 +++++++++++ readthedocs/api/v2/views/model_views.py | 25 +++++++++++++------ .../projects/static-src/projects/js/import.js | 1 - .../projects/static/projects/js/import.js | 2 +- 4 files changed, 33 insertions(+), 9 deletions(-) diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index b38ebc4eed4..c282491d1f0 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -183,6 +183,7 @@ class RemoteRepositorySerializer(serializers.ModelSerializer): # This field does create an additional query per object returned matches = serializers.SerializerMethodField() + admin = serializers.SerializerMethodField('is_admin') class Meta: model = RemoteRepository @@ -193,6 +194,19 @@ def get_matches(self, obj): if request.user is not None and request.user.is_authenticated: return obj.matches(request.user) + def is_admin(self, obj): + request = self.context['request'] + + # Use cached value + if hasattr(obj, 'admin'): + return obj.admin + + if request.user is not None and request.user.is_authenticated: + return obj.remote_repository_relations.filter( + user=request.user, admin=True + ).exists() + return False + class ProviderSerializer(serializers.Serializer): diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index 6954f26a8b7..0d844d0d201 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -6,7 +6,7 @@ from allauth.socialaccount.models import SocialAccount from django.conf import settings from django.core.files.storage import get_storage_class -from django.db.models import Q +from django.db.models import BooleanField, Value, When, Case from django.shortcuts import get_object_or_404 from django.template.loader import render_to_string from rest_framework import decorators, permissions, status, viewsets @@ -16,24 +16,20 @@ from readthedocs.builds.constants import ( BRANCH, - BUILD_STATE_FINISHED, - BUILD_STATE_TRIGGERED, INTERNAL, TAG, ) from readthedocs.builds.models import Build, BuildCommandResult, Version from readthedocs.core.utils import trigger_build -from readthedocs.core.utils.extend import SettingsOverrideObject from readthedocs.oauth.models import RemoteOrganization, RemoteRepository from readthedocs.oauth.services import GitHubService, registry -from readthedocs.projects.models import Domain, EmailHook, Project +from readthedocs.projects.models import Domain, Project from readthedocs.projects.version_handling import determine_stable_version from ..permissions import ( APIPermission, APIRestrictedPermission, IsOwner, - RelatedProjectIsOwner, ) from ..serializers import ( BuildAdminSerializer, @@ -381,7 +377,22 @@ class RemoteRepositoryViewSet(viewsets.ReadOnlyModelViewSet): pagination_class = RemoteProjectPagination def get_queryset(self): - query = self.model.objects.api(self.request.user) + query = self.model.objects.api(self.request.user).annotate( + admin=Case( + When( + remote_repository_relations__user=self.request.user, + remote_repository_relations__admin=True, + then=Value(True) + ), + When( + remote_repository_relations__user=self.request.user, + remote_repository_relations__admin=False, + then=Value(False) + ), + default=Value(False), + output_field=BooleanField(), + ) + ) full_name = self.request.query_params.get('full_name') if full_name is not None: query = query.filter(full_name__icontains=full_name) diff --git a/readthedocs/projects/static-src/projects/js/import.js b/readthedocs/projects/static-src/projects/js/import.js index 1307f713421..fe47a956169 100644 --- a/readthedocs/projects/static-src/projects/js/import.js +++ b/readthedocs/projects/static-src/projects/js/import.js @@ -119,7 +119,6 @@ function Project(instance, view) { } }); self.private = ko.observable(instance.private); - self.active = ko.observable(instance.active); self.admin = ko.observable(instance.admin); self.is_locked = ko.computed(function () { if (view.has_sso_enabled) { diff --git a/readthedocs/projects/static/projects/js/import.js b/readthedocs/projects/static/projects/js/import.js index 5ec0acd7ca5..5766ae61731 100644 --- a/readthedocs/projects/static/projects/js/import.js +++ b/readthedocs/projects/static/projects/js/import.js @@ -1 +1 @@ -require=function o(s,i,u){function l(r,e){if(!i[r]){if(!s[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(c)return c(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var a=i[r]={exports:{}};s[r][0].call(a.exports,function(e){return l(s[r][1][e]||e)},a,a.exports,o,s,i,u)}return i[r].exports}for(var c="function"==typeof require&&require,e=0;e").attr("href",e).get(0);return Object.keys(r).map(function(e){t.search&&(t.search+="&"),t.search+=e+"="+r[e]}),t.href}function c(e,r){var t=this;t.id=i.observable(e.id),t.name=i.observable(e.name),t.slug=i.observable(e.slug),t.active=i.observable(e.active),t.avatar_url=i.observable(l(e.avatar_url,{size:32})),t.display_name=i.computed(function(){return t.name()||t.slug()}),t.filter_id=i.computed(function(){return t.id()}),t.filter_type="org",t.filtered=i.computed(function(){var e=r.filter_by();return e.id&&e.id!==t.filter_id()||e.type&&e.type!==t.filter_type})}function p(e,r){var t=this;t.id=i.observable(e.id),t.username=i.observable(e.username),t.active=i.observable(e.active),t.avatar_url=i.observable(l(e.avatar_url,{size:32})),t.provider=i.observable(e.provider),t.display_name=i.computed(function(){return t.username()}),t.filter_id=i.computed(function(){return t.provider().id}),t.filter_type="own",t.filtered=i.computed(function(){var e=r.filter_by();return e.id&&e.id!==t.filter_id()||e.type&&e.type!==t.filter_type})}function a(e,a){var o=this;o.id=i.observable(e.id),o.name=i.observable(e.name),o.full_name=i.observable(e.full_name),o.description=i.observable(e.description),o.vcs=i.observable(e.vcs),o.default_branch=i.observable(e.default_branch),o.organization=i.observable(e.organization),o.html_url=i.observable(e.html_url),o.clone_url=i.observable(e.clone_url),o.ssh_url=i.observable(e.ssh_url),o.matches=i.observable(e.matches),o.match=i.computed(function(){var e=o.matches();if(e&&0");n.attr("action",a.urls.projects_import).attr("method","POST").hide(),Object.keys(t).map(function(e){var r=u("").attr("type","hidden").attr("name",e).attr("value",t[e]);n.append(r)});var e=u("").attr("type","hidden").attr("name","csrfmiddlewaretoken").attr("value",a.csrf_token);n.append(e);var r=u("").attr("type","submit");n.append(r),u("body").append(n),n.submit()}}function o(e,r){var s=this;s.config=r||{},s.urls=r.urls||{},s.csrf_token=r.csrf_token||"",s.has_sso_enabled=r.has_sso_enabled||!1,s.error=i.observable(null),s.is_syncing=i.observable(!1),s.is_ready=i.observable(!1),s.page_current=i.observable(null),s.page_next=i.observable(null),s.page_previous=i.observable(null),s.filter_by=i.observable({id:null,type:null}),s.accounts_raw=i.observableArray(),s.organizations_raw=i.observableArray(),s.filters=i.computed(function(){var e,r=[],t=s.accounts_raw(),n=s.organizations_raw();for(e in t){var a=new p(t[e],s);r.push(a)}for(e in n){var o=new c(n[e],s);r.push(o)}return r}),s.projects=i.observableArray(),i.computed(function(){var e=s.filter_by(),r=s.page_current()||s.urls["remoterepository-list"];s.page_current()||("org"===e.type&&(r=l(s.urls["remoterepository-list"],{org:e.id})),"own"===e.type&&(r=l(s.urls["remoterepository-list"],{own:e.id}))),s.error(null),u.getJSON(r).done(function(e){var r,t=[];for(r in s.page_next(e.next),s.page_previous(e.previous),e.results){var n=new a(e.results[r],s);t.push(n)}s.projects(t)}).fail(function(e){var r=e.responseJSON.detail||e.statusText;s.error({message:r})}).always(function(){s.is_ready(!0)})}).extend({deferred:!0}),s.get_organizations=function(){u.getJSON(s.urls["remoteorganization-list"]).done(function(e){s.organizations_raw(e.results)}).fail(function(e){var r=e.responseJSON.detail||e.statusText;s.error({message:r})})},s.get_accounts=function(){u.getJSON(s.urls["remoteaccount-list"]).done(function(e){s.accounts_raw(e.results)}).fail(function(e){var r=e.responseJSON.detail||e.statusText;s.error({message:r})})},s.sync_projects=function(){var e=s.urls.api_sync_remote_repositories;s.error(null),s.is_syncing(!0),n.trigger_task({url:e,token:s.csrf_token}).then(function(e){s.get_organizations(),s.get_accounts(),s.filter_by.valueHasMutated()}).fail(function(e){s.error(e)}).always(function(){s.is_syncing(!1)})},s.has_projects=i.computed(function(){return 0").attr("href",e).get(0);return Object.keys(r).map(function(e){t.search&&(t.search+="&"),t.search+=e+"="+r[e]}),t.href}function c(e,r){var t=this;t.id=i.observable(e.id),t.name=i.observable(e.name),t.slug=i.observable(e.slug),t.active=i.observable(e.active),t.avatar_url=i.observable(l(e.avatar_url,{size:32})),t.display_name=i.computed(function(){return t.name()||t.slug()}),t.filter_id=i.computed(function(){return t.id()}),t.filter_type="org",t.filtered=i.computed(function(){var e=r.filter_by();return e.id&&e.id!==t.filter_id()||e.type&&e.type!==t.filter_type})}function p(e,r){var t=this;t.id=i.observable(e.id),t.username=i.observable(e.username),t.active=i.observable(e.active),t.avatar_url=i.observable(l(e.avatar_url,{size:32})),t.provider=i.observable(e.provider),t.display_name=i.computed(function(){return t.username()}),t.filter_id=i.computed(function(){return t.provider().id}),t.filter_type="own",t.filtered=i.computed(function(){var e=r.filter_by();return e.id&&e.id!==t.filter_id()||e.type&&e.type!==t.filter_type})}function a(e,a){var o=this;o.id=i.observable(e.id),o.name=i.observable(e.name),o.full_name=i.observable(e.full_name),o.description=i.observable(e.description),o.vcs=i.observable(e.vcs),o.default_branch=i.observable(e.default_branch),o.organization=i.observable(e.organization),o.html_url=i.observable(e.html_url),o.clone_url=i.observable(e.clone_url),o.ssh_url=i.observable(e.ssh_url),o.matches=i.observable(e.matches),o.match=i.computed(function(){var e=o.matches();if(e&&0");n.attr("action",a.urls.projects_import).attr("method","POST").hide(),Object.keys(t).map(function(e){var r=u("").attr("type","hidden").attr("name",e).attr("value",t[e]);n.append(r)});var e=u("").attr("type","hidden").attr("name","csrfmiddlewaretoken").attr("value",a.csrf_token);n.append(e);var r=u("").attr("type","submit");n.append(r),u("body").append(n),n.submit()}}function o(e,r){var s=this;s.config=r||{},s.urls=r.urls||{},s.csrf_token=r.csrf_token||"",s.has_sso_enabled=r.has_sso_enabled||!1,s.error=i.observable(null),s.is_syncing=i.observable(!1),s.is_ready=i.observable(!1),s.page_current=i.observable(null),s.page_next=i.observable(null),s.page_previous=i.observable(null),s.filter_by=i.observable({id:null,type:null}),s.accounts_raw=i.observableArray(),s.organizations_raw=i.observableArray(),s.filters=i.computed(function(){var e,r=[],t=s.accounts_raw(),n=s.organizations_raw();for(e in t){var a=new p(t[e],s);r.push(a)}for(e in n){var o=new c(n[e],s);r.push(o)}return r}),s.projects=i.observableArray(),i.computed(function(){var e=s.filter_by(),r=s.page_current()||s.urls["remoterepository-list"];s.page_current()||("org"===e.type&&(r=l(s.urls["remoterepository-list"],{org:e.id})),"own"===e.type&&(r=l(s.urls["remoterepository-list"],{own:e.id}))),s.error(null),u.getJSON(r).done(function(e){var r,t=[];for(r in s.page_next(e.next),s.page_previous(e.previous),e.results){var n=new a(e.results[r],s);t.push(n)}s.projects(t)}).fail(function(e){var r=e.responseJSON.detail||e.statusText;s.error({message:r})}).always(function(){s.is_ready(!0)})}).extend({deferred:!0}),s.get_organizations=function(){u.getJSON(s.urls["remoteorganization-list"]).done(function(e){s.organizations_raw(e.results)}).fail(function(e){var r=e.responseJSON.detail||e.statusText;s.error({message:r})})},s.get_accounts=function(){u.getJSON(s.urls["remoteaccount-list"]).done(function(e){s.accounts_raw(e.results)}).fail(function(e){var r=e.responseJSON.detail||e.statusText;s.error({message:r})})},s.sync_projects=function(){var e=s.urls.api_sync_remote_repositories;s.error(null),s.is_syncing(!0),n.trigger_task({url:e,token:s.csrf_token}).then(function(e){s.get_organizations(),s.get_accounts(),s.filter_by.valueHasMutated()}).fail(function(e){s.error(e)}).always(function(){s.is_syncing(!1)})},s.has_projects=i.computed(function(){return 0 Date: Tue, 22 Dec 2020 20:59:00 +0600 Subject: [PATCH 53/89] Fix unauthenticated user issue --- readthedocs/api/v2/views/model_views.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index 0d844d0d201..93cd4e50602 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -377,15 +377,20 @@ class RemoteRepositoryViewSet(viewsets.ReadOnlyModelViewSet): pagination_class = RemoteProjectPagination def get_queryset(self): + user = ( + self.request.user + if self.request.user.is_authenticated + else None + ) query = self.model.objects.api(self.request.user).annotate( admin=Case( When( - remote_repository_relations__user=self.request.user, + remote_repository_relations__user=user, remote_repository_relations__admin=True, then=Value(True) ), When( - remote_repository_relations__user=self.request.user, + remote_repository_relations__user=user, remote_repository_relations__admin=False, then=Value(False) ), From 0c04f9f2db8763a64ecf9d600f4e3f1663b4d0e5 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 22 Dec 2020 21:11:00 +0600 Subject: [PATCH 54/89] Fix import sorting --- readthedocs/api/v2/views/model_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index 93cd4e50602..a106c1d6861 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -6,7 +6,7 @@ from allauth.socialaccount.models import SocialAccount from django.conf import settings from django.core.files.storage import get_storage_class -from django.db.models import BooleanField, Value, When, Case +from django.db.models import BooleanField, Case, Value, When from django.shortcuts import get_object_or_404 from django.template.loader import render_to_string from rest_framework import decorators, permissions, status, viewsets From feeb9037053d811b9062affd3cdfd9ddd96a731c Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 29 Dec 2020 14:05:51 +0600 Subject: [PATCH 55/89] Update readthedocs/api/v2/serializers.py Co-authored-by: Manuel Kaufmann --- readthedocs/api/v2/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index c282491d1f0..e4011ce9103 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -201,7 +201,7 @@ def is_admin(self, obj): if hasattr(obj, 'admin'): return obj.admin - if request.user is not None and request.user.is_authenticated: + if request.user and request.user.is_authenticated: return obj.remote_repository_relations.filter( user=request.user, admin=True ).exists() From 53d8f75751d35e0fe711489935679f263b4ea719 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 29 Dec 2020 14:13:48 +0600 Subject: [PATCH 56/89] return empty queryset if the user is not authenticated --- readthedocs/api/v2/views/model_views.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index a106c1d6861..602810b42d4 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -377,20 +377,18 @@ class RemoteRepositoryViewSet(viewsets.ReadOnlyModelViewSet): pagination_class = RemoteProjectPagination def get_queryset(self): - user = ( - self.request.user - if self.request.user.is_authenticated - else None - ) + if not self.request.user.is_authenticated: + return self.model.objects.none() + query = self.model.objects.api(self.request.user).annotate( admin=Case( When( - remote_repository_relations__user=user, + remote_repository_relations__user=self.request.user, remote_repository_relations__admin=True, then=Value(True) ), When( - remote_repository_relations__user=user, + remote_repository_relations__user=self.request.user, remote_repository_relations__admin=False, then=Value(False) ), From 3ec81be5cad8f8dcf964964220570db4e613d9b4 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 29 Dec 2020 14:48:40 +0600 Subject: [PATCH 57/89] Add todo in RemoteRepositoryViewSet queryset for future optimization --- readthedocs/api/v2/views/model_views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index 602810b42d4..879ec5865fe 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -380,6 +380,7 @@ def get_queryset(self): if not self.request.user.is_authenticated: return self.model.objects.none() + # TODO: Optimize this query after deployment query = self.model.objects.api(self.request.user).annotate( admin=Case( When( From 7b64f37d78dfa1e05cc3f2ee8299bba2291ca647 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 23 Dec 2020 17:36:46 +0600 Subject: [PATCH 58/89] Create new table for RemoteOrganization and RemoteOrganizationRelation --- readthedocs/api/v2/serializers.py | 2 +- ...e_for_remote_organization_normalization.py | 62 +++++++++++++++++++ ...le_for_remote_repository_normalization.py} | 2 +- readthedocs/oauth/models.py | 54 ++++++++++++---- 4 files changed, 105 insertions(+), 15 deletions(-) create mode 100644 readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py rename readthedocs/oauth/migrations/{0012_create_new_table_for_remote_repository_normalization.py => 0013_create_new_table_for_remote_repository_normalization.py} (98%) diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index e4011ce9103..809cf02b569 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -172,7 +172,7 @@ class RemoteOrganizationSerializer(serializers.ModelSerializer): class Meta: model = RemoteOrganization - exclude = ('json', 'email', 'users') + exclude = ('email', 'users',) class RemoteRepositorySerializer(serializers.ModelSerializer): diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py new file mode 100644 index 00000000000..a4a61b62e7c --- /dev/null +++ b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py @@ -0,0 +1,62 @@ +# Generated by Django 2.2.17 on 2020-12-23 10:58 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django_extensions.db.fields +import jsonfield.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('socialaccount', '0003_extra_data_default_dict'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('oauth', '0011_add_default_branch'), + ] + + operations = [ + migrations.CreateModel( + name='RemoteOrganization', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('pub_date', models.DateTimeField(auto_now_add=True, verbose_name='Publication date')), + ('modified_date', models.DateTimeField(auto_now=True, verbose_name='Modified date')), + ('slug', models.CharField(max_length=255, verbose_name='Slug')), + ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Name')), + ('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')), + ('avatar_url', models.URLField(blank=True, null=True, verbose_name='Avatar image URL')), + ('url', models.URLField(blank=True, null=True, verbose_name='URL to organization page')), + ('remote_id', models.CharField(db_index=True, max_length=128)), + ('vcs_provider', models.CharField(choices=[('github', 'GitHub'), ('gitlab', 'GitLab'), ('bitbucket', 'Bitbucket')], max_length=32, verbose_name='VCS provider')), + ], + options={ + 'db_table': 'oauth_remoteorganization_2020', + 'ordering': ['name'], + }, + ), + migrations.CreateModel( + name='RemoteOrganizationRelation', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), + ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), + ('json', jsonfield.fields.JSONField(verbose_name='Serialized API response')), + ('account', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), + ('remote_organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to='oauth.RemoteOrganization')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'unique_together': {('remote_organization', 'account')}, + }, + ), + migrations.AddField( + model_name='remoteorganization', + name='users', + field=models.ManyToManyField(related_name='oauth_organizations', through='oauth.RemoteOrganizationRelation', to=settings.AUTH_USER_MODEL, verbose_name='Users'), + ), + migrations.AlterUniqueTogether( + name='remoteorganization', + unique_together={('remote_id', 'vcs_provider')}, + ), + ] diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py similarity index 98% rename from readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py rename to readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py index 9ea38bc1453..a131d9ffe63 100644 --- a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_repository_normalization.py +++ b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py @@ -14,7 +14,7 @@ class Migration(migrations.Migration): ('socialaccount', '0003_extra_data_default_dict'), ('projects', '0067_change_max_length_feature_id'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('oauth', '0011_add_default_branch'), + ('oauth', '0012_create_new_table_for_remote_organization_normalization'), ] operations = [ diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 9df575ef4d4..9b2b563675e 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -38,17 +38,8 @@ class RemoteOrganization(models.Model): User, verbose_name=_('Users'), related_name='oauth_organizations', + through='RemoteOrganizationRelation' ) - account = models.ForeignKey( - SocialAccount, - verbose_name=_('Connected account'), - related_name='remote_organizations', - null=True, - blank=True, - on_delete=models.CASCADE, - ) - active = models.BooleanField(_('Active'), default=False) - slug = models.CharField(_('Slug'), max_length=255) name = models.CharField(_('Name'), max_length=255, null=True, blank=True) email = models.EmailField(_('Email'), max_length=255, null=True, blank=True) @@ -59,17 +50,54 @@ class RemoteOrganization(models.Model): null=True, blank=True, ) - - json = models.TextField(_('Serialized API response')) + remote_id = models.CharField( + db_index=True, + max_length=128 + ) + vcs_provider = models.CharField( + _('VCS provider'), + choices=VCS_PROVIDER_CHOICES, + max_length=32 + ) objects = RemoteOrganizationQuerySet.as_manager() + class Meta: + ordering = ['name'] + unique_together = (('remote_id', 'vcs_provider'),) + db_table = 'oauth_remoteorganization_2020' + def __str__(self): return 'Remote organization: {name}'.format(name=self.slug) + +class RemoteOrganizationRelation(TimeStampedModel): + remote_organization = models.ForeignKey( + RemoteOrganization, + related_name='remote_organization_relations', + on_delete=models.CASCADE + ) + user = models.ForeignKey( + User, + related_name='remote_organization_relations', + on_delete=models.CASCADE + ) + account = models.ForeignKey( + SocialAccount, + verbose_name=_('Connected account'), + related_name='remote_organization_relations', + null=True, + blank=True, + on_delete=models.CASCADE, + ) + json = JSONField(_('Serialized API response')) + + class Meta: + unique_together = (('remote_organization', 'account'),) + def get_serialized(self, key=None, default=None): try: - data = json.loads(self.json) + data = self.json if key is not None: return data.get(key, default) return data From 58973c93ebc1b9c64c96566f8a0f11b6be939029 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 23 Dec 2020 17:51:04 +0600 Subject: [PATCH 59/89] lint fix --- readthedocs/oauth/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 9b2b563675e..a04ecbfa1d1 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -90,7 +90,7 @@ class RemoteOrganizationRelation(TimeStampedModel): blank=True, on_delete=models.CASCADE, ) - json = JSONField(_('Serialized API response')) + json = JSONField(_('Serialized API response')) # noqa: F811 class Meta: unique_together = (('remote_organization', 'account'),) @@ -256,7 +256,7 @@ class RemoteRepositoryRelation(TimeStampedModel): on_delete=models.CASCADE, ) admin = models.BooleanField(_('Has admin privilege'), default=False) - json = JSONField(_('Serialized API response')) + json = JSONField(_('Serialized API response')) # noqa: F811 class Meta: unique_together = (('remote_repository', 'account'),) From ab7e093e866a3188bb552309d9a8bf367a75855f Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 29 Dec 2020 13:53:31 +0600 Subject: [PATCH 60/89] Use TimeStampedModel for RemoteRepository and RemoteOrganizarion --- .../commands/reconnect_remoterepositories.py | 2 +- ...ew_table_for_remote_organization_normalization.py | 4 ++-- ..._new_table_for_remote_repository_normalization.py | 4 ++-- readthedocs/oauth/models.py | 12 ++---------- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/readthedocs/oauth/management/commands/reconnect_remoterepositories.py b/readthedocs/oauth/management/commands/reconnect_remoterepositories.py index d83efd7b1ac..2ee80cedfd1 100644 --- a/readthedocs/oauth/management/commands/reconnect_remoterepositories.py +++ b/readthedocs/oauth/management/commands/reconnect_remoterepositories.py @@ -55,7 +55,7 @@ def _connect_repositories(self, organization, no_dry_run, only_owners): Q(ssh_url__in=Subquery(organization.projects.values('repo'))) | Q(clone_url__in=Subquery(organization.projects.values('repo'))) ) - for remote in RemoteRepository.objects.filter(remote_query).order_by('pub_date'): + for remote in RemoteRepository.objects.filter(remote_query).order_by('created'): admin = json.loads(remote.json).get('permissions', {}).get('admin') if only_owners and remote.users.first() not in organization.owners.all(): diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py index a4a61b62e7c..9a83ce7c0a7 100644 --- a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py +++ b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py @@ -20,8 +20,8 @@ class Migration(migrations.Migration): name='RemoteOrganization', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pub_date', models.DateTimeField(auto_now_add=True, verbose_name='Publication date')), - ('modified_date', models.DateTimeField(auto_now=True, verbose_name='Modified date')), + ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), + ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('slug', models.CharField(max_length=255, verbose_name='Slug')), ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Name')), ('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')), diff --git a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py index a131d9ffe63..4bc7df0a837 100644 --- a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py +++ b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py @@ -22,8 +22,8 @@ class Migration(migrations.Migration): name='RemoteRepository', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('pub_date', models.DateTimeField(auto_now_add=True, verbose_name='Publication date')), - ('modified_date', models.DateTimeField(auto_now=True, verbose_name='Modified date')), + ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), + ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('name', models.CharField(max_length=255, verbose_name='Name')), ('full_name', models.CharField(db_index=True, max_length=255, verbose_name='Full Name')), ('description', models.TextField(blank=True, help_text='Description of the project', null=True, verbose_name='Description')), diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index a04ecbfa1d1..e45e9fc487d 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -22,7 +22,7 @@ from .querysets import RemoteOrganizationQuerySet, RemoteRepositoryQuerySet -class RemoteOrganization(models.Model): +class RemoteOrganization(TimeStampedModel): """ Organization from remote service. @@ -30,10 +30,6 @@ class RemoteOrganization(models.Model): This encapsulates both Github and Bitbucket """ - # Auto fields - pub_date = models.DateTimeField(_('Publication date'), auto_now_add=True) - modified_date = models.DateTimeField(_('Modified date'), auto_now=True) - users = models.ManyToManyField( User, verbose_name=_('Users'), @@ -105,7 +101,7 @@ def get_serialized(self, key=None, default=None): pass -class RemoteRepository(models.Model): +class RemoteRepository(TimeStampedModel): """ Remote importable repositories. @@ -113,10 +109,6 @@ class RemoteRepository(models.Model): This models Github and Bitbucket importable repositories """ - # Auto fields - pub_date = models.DateTimeField(_('Publication date'), auto_now_add=True) - modified_date = models.DateTimeField(_('Modified date'), auto_now=True) - # This should now be a OneToOne users = models.ManyToManyField( User, From e36719e0b56b6f1e6fe8d847db8263d109f86d30 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 29 Dec 2020 13:56:46 +0600 Subject: [PATCH 61/89] Make account field not nullable --- ...ate_new_table_for_remote_organization_normalization.py | 2 +- ...reate_new_table_for_remote_repository_normalization.py | 2 +- readthedocs/oauth/models.py | 8 ++------ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py index 9a83ce7c0a7..a23ad03bd10 100644 --- a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py +++ b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py @@ -42,7 +42,7 @@ class Migration(migrations.Migration): ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('json', jsonfield.fields.JSONField(verbose_name='Serialized API response')), - ('account', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), + ('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), ('remote_organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to='oauth.RemoteOrganization')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to=settings.AUTH_USER_MODEL)), ], diff --git a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py index 4bc7df0a837..9fda40ddc2f 100644 --- a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py +++ b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py @@ -53,7 +53,7 @@ class Migration(migrations.Migration): ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('admin', models.BooleanField(default=False, verbose_name='Has admin privilege')), ('json', jsonfield.fields.JSONField(verbose_name='Serialized API response')), - ('account', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), + ('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), ('remote_repository', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='oauth.RemoteRepository')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to=settings.AUTH_USER_MODEL)), ], diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index e45e9fc487d..c49ab743134 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -82,9 +82,7 @@ class RemoteOrganizationRelation(TimeStampedModel): SocialAccount, verbose_name=_('Connected account'), related_name='remote_organization_relations', - null=True, - blank=True, - on_delete=models.CASCADE, + on_delete=models.CASCADE ) json = JSONField(_('Serialized API response')) # noqa: F811 @@ -243,9 +241,7 @@ class RemoteRepositoryRelation(TimeStampedModel): SocialAccount, verbose_name=_('Connected account'), related_name='remote_repository_relations', - null=True, - blank=True, - on_delete=models.CASCADE, + on_delete=models.CASCADE ) admin = models.BooleanField(_('Has admin privilege'), default=False) json = JSONField(_('Serialized API response')) # noqa: F811 From 88d896daf3fd800f32a2fd6f4440a47f1b96765b Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 29 Dec 2020 14:04:14 +0600 Subject: [PATCH 62/89] Remove unused import --- readthedocs/oauth/models.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index c49ab743134..52cda3c51b8 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -2,8 +2,6 @@ """OAuth service models.""" -import json - from django.contrib.auth.models import User from django.core.validators import URLValidator from django.db import models From 629f355209b85576761f0799efb93446c9a64d9b Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Fri, 1 Jan 2021 16:08:00 +0600 Subject: [PATCH 63/89] Update VCS service classes to use the new RemoteOrganization modeling --- readthedocs/api/v2/views/model_views.py | 2 +- readthedocs/oauth/admin.py | 2 ++ readthedocs/oauth/services/base.py | 25 +++++++++++++++++++---- readthedocs/oauth/services/bitbucket.py | 17 +++++++++++----- readthedocs/oauth/services/github.py | 27 ++++++++++++------------- readthedocs/oauth/services/gitlab.py | 26 +++++++++++------------- 6 files changed, 61 insertions(+), 38 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index 879ec5865fe..493b878a21b 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -362,7 +362,7 @@ class RemoteOrganizationViewSet(viewsets.ReadOnlyModelViewSet): def get_queryset(self): return ( self.model.objects.api(self.request.user).filter( - account__provider__in=[ + remote_organization_relations__account__provider__in=[ service.adapter.provider_id for service in registry ], ) diff --git a/readthedocs/oauth/admin.py b/readthedocs/oauth/admin.py index 9de27927a1c..147c5dcea1d 100644 --- a/readthedocs/oauth/admin.py +++ b/readthedocs/oauth/admin.py @@ -6,6 +6,7 @@ from .models import ( RemoteOrganization, + RemoteOrganizationRelation, RemoteRepository, RemoteRepositoryRelation, ) @@ -28,3 +29,4 @@ class RemoteOrganizationAdmin(admin.ModelAdmin): admin.site.register(RemoteRepository, RemoteRepositoryAdmin) admin.site.register(RemoteRepositoryRelation) admin.site.register(RemoteOrganization, RemoteOrganizationAdmin) +admin.site.register(RemoteOrganizationRelation) diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index e718a94b62f..68946d79c5f 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -11,7 +11,10 @@ from requests.exceptions import RequestException from requests_oauthlib import OAuth2Session -from readthedocs.oauth.models import RemoteRepositoryRelation +from readthedocs.oauth.models import ( + RemoteOrganizationRelation, + RemoteRepositoryRelation, +) log = logging.getLogger(__name__) @@ -214,10 +217,13 @@ def sync(self): ) # Delete RemoteOrganization where the user doesn't have access anymore - organization_slugs = [o.slug for o in remote_organizations if o is not None] + organization_remote_ids = [o.remote_id for o in remote_organizations if o is not None] ( - self.user.oauth_organizations - .exclude(slug__in=organization_slugs) + self.user.remote_organization_relations + .exclude( + remote_organization__remote_id__in=organization_remote_ids, + remote_organization__vcs_provider=self.vcs_provider_slug + ) .filter(account=self.account) .delete() ) @@ -233,6 +239,17 @@ def get_remote_repository_relation(self, repo): ) return remote_repository_relation + def get_remote_organization_relation(self, organization): + """Return RemoteOrganizationRelation object for a given remote organization.""" + remote_organization_relation, _ = ( + RemoteOrganizationRelation.objects.get_or_create( + remote_organization=organization, + user=self.user, + account=self.account + ) + ) + return remote_organization_relation + def create_repository(self, fields, privacy=None, organization=None): """ Update or create a repository from API response. diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 69d15362b23..41fd42ea2ab 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -193,19 +193,26 @@ def create_organization(self, fields): :rtype: RemoteOrganization """ organization, _ = RemoteOrganization.objects.get_or_create( - slug=fields.get('username'), - account=self.account, + remote_id=fields['uuid'], + vcs_provider=self.vcs_provider_slug ) + remote_organization_relation = self.get_remote_organization_relation(organization) + + organization.slug = fields.get('username') organization.name = fields.get('display_name') organization.email = fields.get('email') organization.avatar_url = fields['links']['avatar']['href'] + if not organization.avatar_url: organization.avatar_url = self.default_org_avatar_url + organization.url = fields['links']['html']['href'] - organization.json = json.dumps(fields) - organization.account = self.account - organization.users.add(self.user) + organization.save() + + remote_organization_relation.json = fields + remote_organization_relation.save() + return organization def get_next_url_to_paginate(self, response): diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index 089d7565639..eeb7a01a760 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -157,27 +157,26 @@ def create_organization(self, fields): :param fields: dictionary response of data from API :rtype: RemoteOrganization """ - try: - organization = RemoteOrganization.objects.get( - slug=fields.get('login'), - users=self.user, - account=self.account, - ) - except RemoteOrganization.DoesNotExist: - organization = RemoteOrganization.objects.create( - slug=fields.get('login'), - account=self.account, - ) - organization.users.add(self.user) + organization, _ = RemoteOrganization.objects.get_or_create( + remote_id=fields['id'], + vcs_provider=self.vcs_provider_slug + ) + remote_organization_relation = self.get_remote_organization_relation(organization) + organization.url = fields.get('html_url') + organization.slug = fields.get('login') organization.name = fields.get('name') organization.email = fields.get('email') organization.avatar_url = fields.get('avatar_url') + if not organization.avatar_url: organization.avatar_url = self.default_org_avatar_url - organization.json = json.dumps(fields) - organization.account = self.account + organization.save() + + remote_organization_relation.json = fields + remote_organization_relation.save() + return organization def get_next_url_to_paginate(self, response): diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index abd5085213f..645e3156ba3 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -235,30 +235,28 @@ def create_organization(self, fields): :param fields: dictionary response of data from API :rtype: RemoteOrganization """ - try: - organization = RemoteOrganization.objects.get( - slug=fields.get('path'), - users=self.user, - account=self.account, - ) - except RemoteOrganization.DoesNotExist: - organization = RemoteOrganization.objects.create( - slug=fields.get('path'), - account=self.account, - ) - organization.users.add(self.user) + organization, _ = RemoteOrganization.objects.get_or_create( + remote_id=fields['id'], + vcs_provider=self.vcs_provider_slug + ) + remote_organization_relation = self.get_remote_organization_relation(organization) organization.name = fields.get('name') - organization.account = self.account + organization.slug = fields.get('path') organization.url = '{url}/{path}'.format( url=self.adapter.provider_base_url, path=fields.get('path'), ) organization.avatar_url = fields.get('avatar_url') + if not organization.avatar_url: organization.avatar_url = self.default_user_avatar_url - organization.json = json.dumps(fields) + organization.save() + + remote_organization_relation.json = fields + remote_organization_relation.save() + return organization def get_webhook_data(self, repo_id, project, integration): From 055138aa98f0e2443d2be96cce1d207841332d0e Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 2 Jan 2021 14:57:11 +0600 Subject: [PATCH 64/89] Update tests for new RemoteOrganization modeling --- readthedocs/core/tests/test_signals.py | 81 ++++++++++++++++--- readthedocs/rtd_tests/tests/test_api.py | 17 +++- readthedocs/rtd_tests/tests/test_oauth.py | 32 +++++--- .../rtd_tests/tests/test_oauth_sync.py | 15 +++- .../rtd_tests/tests/test_project_views.py | 30 ++++++- 5 files changed, 146 insertions(+), 29 deletions(-) diff --git a/readthedocs/core/tests/test_signals.py b/readthedocs/core/tests/test_signals.py index 40dccdaa3a7..124326e1a22 100644 --- a/readthedocs/core/tests/test_signals.py +++ b/readthedocs/core/tests/test_signals.py @@ -1,22 +1,25 @@ # -*- coding: utf-8 -*- import django_dynamic_fixture import pytest +from allauth.socialaccount.models import SocialAccount from django.contrib.auth.models import User -from readthedocs.oauth.models import RemoteOrganization +from readthedocs.oauth.models import ( + RemoteOrganization, + RemoteOrganizationRelation, +) from readthedocs.projects.models import Project @pytest.mark.django_db class TestProjectOrganizationSignal: - @pytest.mark.parametrize('model_class', [Project, RemoteOrganization]) - def test_project_organization_get_deleted_upon_user_delete(self, model_class): - """If the user has Project or RemoteOrganization where he is the only - user, upon deleting his account, the Project or RemoteOrganization + def test_project_get_deleted_upon_user_delete(self): + """If the user has Project where he is the only + user, upon deleting his account, the Project should also get deleted.""" - obj = django_dynamic_fixture.get(model_class) + obj = django_dynamic_fixture.get(Project) user1 = django_dynamic_fixture.get(User) obj.users.add(user1) @@ -26,15 +29,38 @@ def test_project_organization_get_deleted_upon_user_delete(self, model_class): # Delete the user user1.delete() # The object should not exist - obj = model_class.objects.all().filter(id=obj.id) + obj = Project.objects.all().filter(id=obj.id) assert not obj.exists() - @pytest.mark.parametrize('model_class', [Project, RemoteOrganization]) - def test_multiple_users_project_organization_not_delete(self, model_class): + def test_organization_get_deleted_upon_user_delete(self): + """If the user has RemoteOrganization where he is the only + user, upon deleting his account, the RemoteOrganization + should also get deleted.""" + user1 = django_dynamic_fixture.get(User) + account = django_dynamic_fixture.get(SocialAccount, user=user1) + obj = django_dynamic_fixture.get(RemoteOrganization) + + django_dynamic_fixture.get( + RemoteOrganizationRelation, + remote_organization=obj, + user=user1, + account=account + ) + + obj.refresh_from_db() + assert obj.users.all().count() == 1 + + # Delete the user + user1.delete() + # The object should not exist + obj = RemoteOrganization.objects.all().filter(id=obj.id) + assert not obj.exists() + + def test_multiple_users_project_not_delete(self): """Check Project or RemoteOrganization which have multiple users do not get deleted when any of the user delete his account.""" - obj = django_dynamic_fixture.get(model_class) + obj = django_dynamic_fixture.get(Project) user1 = django_dynamic_fixture.get(User) user2 = django_dynamic_fixture.get(User) obj.users.add(user1, user2) @@ -50,3 +76,38 @@ def test_multiple_users_project_organization_not_delete(self, model_class): obj_users = obj.users.all() assert len(obj_users) == 1 assert user2 in obj_users + + def test_multiple_users_organization_not_delete(self): + """Check RemoteOrganization which have multiple users do not + get deleted when any of the user delete his account.""" + user1 = django_dynamic_fixture.get(User) + user2 = django_dynamic_fixture.get(User) + account1 = django_dynamic_fixture.get(SocialAccount, user=user1) + account2 = django_dynamic_fixture.get(SocialAccount, user=user2) + + obj = django_dynamic_fixture.get(RemoteOrganization) + + django_dynamic_fixture.get( + RemoteOrganizationRelation, + remote_organization=obj, + user=user1, + account=account1 + ) + django_dynamic_fixture.get( + RemoteOrganizationRelation, + remote_organization=obj, + user=user2, + account=account2 + ) + + obj.refresh_from_db() + assert obj.users.all().count() > 1 + # Delete 1 user of the project + user1.delete() + + # The project should still exist and it should have 1 user + obj.refresh_from_db() + assert obj.id + obj_users = obj.users.all() + assert len(obj_users) == 1 + assert user2 in obj_users diff --git a/readthedocs/rtd_tests/tests/test_api.py b/readthedocs/rtd_tests/tests/test_api.py index c4d52115c27..10965dc1cf9 100644 --- a/readthedocs/rtd_tests/tests/test_api.py +++ b/readthedocs/rtd_tests/tests/test_api.py @@ -41,6 +41,7 @@ from readthedocs.integrations.models import Integration from readthedocs.oauth.models import ( RemoteOrganization, + RemoteOrganizationRelation, RemoteRepository, RemoteRepositoryRelation, ) @@ -675,7 +676,13 @@ def test_remote_organization_pagination(self): account = get(SocialAccount, provider='github') user = get(User) for _ in range(30): - get(RemoteOrganization, users=[user], account=account) + org = get(RemoteOrganization) + get( + RemoteOrganizationRelation, + remote_organization=org, + user=user, + account=account + ) client = APIClient() client.force_authenticate(user=user) @@ -772,7 +779,13 @@ def test_permissions(self): user_a = get(User, password='test') user_b = get(User, password='test') user_c = get(User, password='test') - org_a = get(RemoteOrganization, users=[user_a], account=account_a) + org_a = get(RemoteOrganization) + get( + RemoteOrganizationRelation, + remote_organization=org_a, + user=user_a, + account=account_a + ) repo_a = get( RemoteRepository, organization=org_a, diff --git a/readthedocs/rtd_tests/tests/test_oauth.py b/readthedocs/rtd_tests/tests/test_oauth.py index 3b57be769ca..812b327f8bf 100644 --- a/readthedocs/rtd_tests/tests/test_oauth.py +++ b/readthedocs/rtd_tests/tests/test_oauth.py @@ -1,5 +1,6 @@ from unittest import mock +from allauth.socialaccount.models import SocialAccount from django.conf import settings from django.contrib.auth.models import User from django.test import TestCase @@ -32,9 +33,12 @@ def setUp(self): self.client.login(username='eric', password='test') self.user = User.objects.get(pk=1) self.project = Project.objects.get(slug='pip') - self.org = RemoteOrganization.objects.create(slug='rtfd', json='') + self.org = RemoteOrganization.objects.create(slug='rtfd') self.privacy = settings.DEFAULT_PRIVACY_LEVEL - self.service = GitHubService(user=self.user, account=None) + self.service = GitHubService( + user=self.user, + account=get(SocialAccount, user=self.user) + ) self.external_version = get(Version, project=self.project, type=EXTERNAL) self.external_build = get( Build, project=self.project, version=self.external_version, commit='1234', @@ -109,6 +113,7 @@ def test_make_project_fail(self): def test_make_organization(self): org_json = { + 'id': 12345, 'html_url': 'https://github.com/testorg', 'name': 'Test Org', 'email': 'test@testorg.org', @@ -125,7 +130,7 @@ def test_make_organization(self): def test_import_with_no_token(self): """User without a GitHub SocialToken does not return a service.""" - services = GitHubService.for_user(self.user) + services = GitHubService.for_user(get(User)) self.assertEqual(services, []) def test_multiple_users_same_repo(self): @@ -146,7 +151,10 @@ def test_multiple_users_same_repo(self): ) user2 = User.objects.get(pk=2) - service = GitHubService(user=user2, account=None) + service = GitHubService( + user=user2, + account=get(SocialAccount, user=self.user) + ) github_project_2 = service.create_repository( repo_json, organization=self.org, privacy=self.privacy, ) @@ -550,9 +558,12 @@ def setUp(self): self.project = Project.objects.get(slug='pip') self.project.repo = 'https://bitbucket.org/testuser/testrepo/' self.project.save() - self.org = RemoteOrganization.objects.create(slug='rtfd', json='') + self.org = RemoteOrganization.objects.create(slug='rtfd') self.privacy = settings.DEFAULT_PRIVACY_LEVEL - self.service = BitbucketService(user=self.user, account=None) + self.service = BitbucketService( + user=self.user, + account=get(SocialAccount, user=self.user) + ) self.integration = get( GitHubWebhook, project=self.project, @@ -640,7 +651,7 @@ def test_make_organization(self): def test_import_with_no_token(self): """User without a Bitbucket SocialToken does not return a service.""" - services = BitbucketService.for_user(self.user) + services = BitbucketService.for_user(get(User)) self.assertEqual(services, []) @mock.patch('readthedocs.oauth.services.bitbucket.log') @@ -929,9 +940,12 @@ def setUp(self): self.project = Project.objects.get(slug='pip') self.project.repo = 'https://gitlab.com/testorga/testrepo' self.project.save() - self.org = RemoteOrganization.objects.create(slug='testorga', json='') + self.org = RemoteOrganization.objects.create(slug='testorga') self.privacy = settings.DEFAULT_PRIVACY_LEVEL - self.service = GitLabService(user=self.user, account=None) + self.service = GitLabService( + user=self.user, + account=get(SocialAccount, user=self.user) + ) self.external_version = get(Version, project=self.project, type=EXTERNAL) self.external_build = get( Build, project=self.project, version=self.external_version, commit=1234, diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index 6717af15bf8..cb1c5a75d4f 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -9,6 +9,7 @@ from readthedocs.oauth.constants import GITHUB from readthedocs.oauth.models import ( RemoteOrganization, + RemoteOrganizationRelation, RemoteRepository, RemoteRepositoryRelation, ) @@ -120,16 +121,21 @@ def test_sync_delete_stale(self, mock_request): account=self.socialaccount ) - fixture.get( + org = fixture.get( RemoteOrganization, - account=self.socialaccount, - users=[self.user], name='organization', ) + fixture.get( + RemoteOrganizationRelation, + remote_organization=org, + user=self.user, + account=self.socialaccount + ) self.assertEqual(RemoteRepository.objects.count(), 3) self.assertEqual(RemoteRepositoryRelation.objects.count(), 3) self.assertEqual(RemoteOrganization.objects.count(), 1) + self.assertEqual(RemoteOrganizationRelation.objects.count(), 1) self.service.sync() @@ -140,7 +146,8 @@ def test_sync_delete_stale(self, mock_request): self.assertEqual(RemoteRepositoryRelation.objects.count(), 1) self.assertTrue(RemoteRepository.objects.filter(full_name='organization/repository').exists()) self.assertTrue(RemoteRepository.objects.filter(full_name='organization/project-linked-repository').exists()) - self.assertEqual(RemoteOrganization.objects.count(), 0) + self.assertEqual(RemoteOrganization.objects.count(), 1) + self.assertEqual(RemoteOrganizationRelation.objects.count(), 0) @requests_mock.Mocker(kw='mock_request') def test_sync_repositories(self, mock_request): diff --git a/readthedocs/rtd_tests/tests/test_project_views.py b/readthedocs/rtd_tests/tests/test_project_views.py index 0718e75b6df..54a3c223fd7 100644 --- a/readthedocs/rtd_tests/tests/test_project_views.py +++ b/readthedocs/rtd_tests/tests/test_project_views.py @@ -2,6 +2,7 @@ from unittest import mock from allauth.account.models import EmailAddress +from allauth.socialaccount.models import SocialAccount from django.contrib.auth.models import User from django.contrib.messages import constants as message_const from django.http.response import HttpResponseRedirect @@ -14,7 +15,7 @@ from readthedocs.builds.constants import EXTERNAL from readthedocs.builds.models import Build, Version from readthedocs.integrations.models import GenericAPIWebhook, GitHubWebhook -from readthedocs.oauth.models import RemoteRepository +from readthedocs.oauth.models import RemoteRepository, RemoteRepositoryRelation from readthedocs.projects.constants import PUBLIC from readthedocs.projects.exceptions import ProjectSpamError from readthedocs.projects.models import Domain, Project @@ -138,7 +139,14 @@ def test_form_pass(self): self.assertEqual(proj.documentation_type, 'sphinx') def test_remote_repository_is_added(self): - remote_repo = get(RemoteRepository, users=[self.user]) + remote_repo = get(RemoteRepository) + socialaccount = get(SocialAccount, user=self.user) + get( + RemoteRepositoryRelation, + remote_repository=remote_repo, + user=self.user, + account=socialaccount + ) self.step_data['basics']['remote_repository'] = remote_repo.pk resp = self.post_step('basics') self.assertIsInstance(resp, HttpResponseRedirect) @@ -151,7 +159,14 @@ def test_remote_repository_is_added(self): def test_remote_repository_is_not_added_for_wrong_user(self): user = get(User) - remote_repo = get(RemoteRepository, users=[user]) + remote_repo = get(RemoteRepository) + socialaccount = get(SocialAccount, user=user) + get( + RemoteRepositoryRelation, + remote_repository=remote_repo, + user=user, + account=socialaccount + ) self.step_data['basics']['remote_repository'] = remote_repo.pk resp = self.post_step('basics') self.assertWizardFailure(resp, 'remote_repository') @@ -212,7 +227,14 @@ def test_form_missing_extra(self): self.assertWizardFailure(resp, 'documentation_type') def test_remote_repository_is_added(self): - remote_repo = get(RemoteRepository, users=[self.user]) + remote_repo = get(RemoteRepository) + socialaccount = get(SocialAccount, user=self.user) + get( + RemoteRepositoryRelation, + remote_repository=remote_repo, + user=self.user, + account=socialaccount + ) self.step_data['basics']['remote_repository'] = remote_repo.pk resp = self.post_step('basics') self.assertWizardResponse(resp, 'extra') From 578008f0b4d5d205569aae13f7f0f497f115b2c2 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sat, 2 Jan 2021 15:07:39 +0600 Subject: [PATCH 65/89] update tests --- readthedocs/rtd_tests/tests/test_oauth_sync.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readthedocs/rtd_tests/tests/test_oauth_sync.py b/readthedocs/rtd_tests/tests/test_oauth_sync.py index cb1c5a75d4f..70db64b07b9 100644 --- a/readthedocs/rtd_tests/tests/test_oauth_sync.py +++ b/readthedocs/rtd_tests/tests/test_oauth_sync.py @@ -272,12 +272,16 @@ def test_sync_organizations(self, mock_request): mock_request.get('https://api.github.com/orgs/organization/repos', json=payload) self.assertEqual(RemoteRepository.objects.count(), 0) + self.assertEqual(RemoteRepositoryRelation.objects.count(), 0) self.assertEqual(RemoteOrganization.objects.count(), 0) + self.assertEqual(RemoteOrganizationRelation.objects.count(), 0) remote_organizations, remote_repositories = self.service.sync_organizations() self.assertEqual(RemoteRepository.objects.count(), 1) + self.assertEqual(RemoteRepositoryRelation.objects.count(), 1) self.assertEqual(RemoteOrganization.objects.count(), 1) + self.assertEqual(RemoteOrganizationRelation.objects.count(), 1) self.assertEqual(len(remote_organizations), 1) self.assertEqual(len(remote_repositories), 1) remote_organization = remote_organizations[0] From 233ac8e8fc24c1f376608e5050ce749147dc5b22 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 4 Jan 2021 19:27:04 +0600 Subject: [PATCH 66/89] do not delete remote organization on user delete --- readthedocs/core/signals.py | 11 +-- readthedocs/core/tests/test_signals.py | 93 +++++--------------------- 2 files changed, 16 insertions(+), 88 deletions(-) diff --git a/readthedocs/core/signals.py b/readthedocs/core/signals.py index a4f029c6b3e..44c16e194d8 100644 --- a/readthedocs/core/signals.py +++ b/readthedocs/core/signals.py @@ -83,7 +83,7 @@ def decide_if_cors(sender, request, **kwargs): # pylint: disable=unused-argumen @receiver(pre_delete, sender=settings.AUTH_USER_MODEL) -def delete_projects_and_organizations(sender, instance, *args, **kwargs): +def delete_projects(sender, instance, *args, **kwargs): # Here we count the owner list from the projects that the user own # Then exclude the projects where there are more than one owner # Add annotate before filter @@ -95,16 +95,7 @@ def delete_projects_and_organizations(sender, instance, *args, **kwargs): ).exclude(num_users__gt=1) ) - # Here we count the users list from the organization that the user belong - # Then exclude the organizations where there are more than one user - oauth_organizations = ( - RemoteOrganization.objects.annotate(num_users=Count('users') - ).filter(users=instance.id - ).exclude(num_users__gt=1) - ) - projects.delete() - oauth_organizations.delete() signals.check_request_enabled.connect(decide_if_cors) diff --git a/readthedocs/core/tests/test_signals.py b/readthedocs/core/tests/test_signals.py index 124326e1a22..64d98ae353f 100644 --- a/readthedocs/core/tests/test_signals.py +++ b/readthedocs/core/tests/test_signals.py @@ -1,13 +1,9 @@ # -*- coding: utf-8 -*- import django_dynamic_fixture import pytest -from allauth.socialaccount.models import SocialAccount + from django.contrib.auth.models import User -from readthedocs.oauth.models import ( - RemoteOrganization, - RemoteOrganizationRelation, -) from readthedocs.projects.models import Project @@ -19,95 +15,36 @@ def test_project_get_deleted_upon_user_delete(self): user, upon deleting his account, the Project should also get deleted.""" - obj = django_dynamic_fixture.get(Project) - user1 = django_dynamic_fixture.get(User) - obj.users.add(user1) - - obj.refresh_from_db() - assert obj.users.all().count() == 1 - - # Delete the user - user1.delete() - # The object should not exist - obj = Project.objects.all().filter(id=obj.id) - assert not obj.exists() - - def test_organization_get_deleted_upon_user_delete(self): - """If the user has RemoteOrganization where he is the only - user, upon deleting his account, the RemoteOrganization - should also get deleted.""" + project = django_dynamic_fixture.get(Project) user1 = django_dynamic_fixture.get(User) - account = django_dynamic_fixture.get(SocialAccount, user=user1) - obj = django_dynamic_fixture.get(RemoteOrganization) + project.users.add(user1) - django_dynamic_fixture.get( - RemoteOrganizationRelation, - remote_organization=obj, - user=user1, - account=account - ) - - obj.refresh_from_db() - assert obj.users.all().count() == 1 + project.refresh_from_db() + assert project.users.all().count() == 1 # Delete the user user1.delete() # The object should not exist - obj = RemoteOrganization.objects.all().filter(id=obj.id) - assert not obj.exists() + project = Project.objects.all().filter(id=project.id) + assert not project.exists() def test_multiple_users_project_not_delete(self): - """Check Project or RemoteOrganization which have multiple users do not + """Check Project which have multiple users do not get deleted when any of the user delete his account.""" - obj = django_dynamic_fixture.get(Project) + project = django_dynamic_fixture.get(Project) user1 = django_dynamic_fixture.get(User) user2 = django_dynamic_fixture.get(User) - obj.users.add(user1, user2) - - obj.refresh_from_db() - assert obj.users.all().count() > 1 - # Delete 1 user of the project - user1.delete() - - # The project should still exist and it should have 1 user - obj.refresh_from_db() - assert obj.id - obj_users = obj.users.all() - assert len(obj_users) == 1 - assert user2 in obj_users - - def test_multiple_users_organization_not_delete(self): - """Check RemoteOrganization which have multiple users do not - get deleted when any of the user delete his account.""" - user1 = django_dynamic_fixture.get(User) - user2 = django_dynamic_fixture.get(User) - account1 = django_dynamic_fixture.get(SocialAccount, user=user1) - account2 = django_dynamic_fixture.get(SocialAccount, user=user2) - - obj = django_dynamic_fixture.get(RemoteOrganization) - - django_dynamic_fixture.get( - RemoteOrganizationRelation, - remote_organization=obj, - user=user1, - account=account1 - ) - django_dynamic_fixture.get( - RemoteOrganizationRelation, - remote_organization=obj, - user=user2, - account=account2 - ) + project.users.add(user1, user2) - obj.refresh_from_db() - assert obj.users.all().count() > 1 + project.refresh_from_db() + assert project.users.all().count() > 1 # Delete 1 user of the project user1.delete() # The project should still exist and it should have 1 user - obj.refresh_from_db() - assert obj.id - obj_users = obj.users.all() + project.refresh_from_db() + assert project.id + obj_users = project.users.all() assert len(obj_users) == 1 assert user2 in obj_users From 77263754bdc59166db3b545b63da45d9b2b43498 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 5 Jan 2021 12:25:57 +0600 Subject: [PATCH 67/89] lint fix --- readthedocs/projects/tasks.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index b70eb022b5e..dc06648d6a1 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -1917,11 +1917,11 @@ def send_build_status(build_pk, commit, status, link_to_build=False): service = service_class(relation.user, relation.account) # Send status report using the API. success = service.send_build_status( - build=build, - commit=commit, - state=status, - link_to_build=link_to_build, - ) + build=build, + commit=commit, + state=status, + link_to_build=link_to_build, + ) if success: log.info( From be8282ad75e8f9632a2b055ec6ba00940566e6fb Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Tue, 5 Jan 2021 15:32:40 +0100 Subject: [PATCH 68/89] Change query on `send_build_status` task for compatibility with .com We can't query over `user__projects=` since in .com User objects are not related directly to Project but instead they are related via an intermediate model called Team or via SSO. Use `user__in=AdminPermission.members(project)` instead, where `AdminPermission` is overloaded in .com to behaves as we need here. --- readthedocs/projects/tasks.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index dc06648d6a1..705cd4a0a0a 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -46,6 +46,7 @@ from readthedocs.builds.models import APIVersion, Build, Version from readthedocs.builds.signals import build_complete from readthedocs.config import ConfigError +from readthedocs.core.permissions import AdminPermission from readthedocs.core.resolver import resolve_path from readthedocs.core.utils import send_email from readthedocs.doc_builder.config import load_yaml_config @@ -1899,15 +1900,16 @@ def send_build_status(build_pk, commit, status, link_to_build=False): if provider_name in [GITHUB_BRAND, GITLAB_BRAND]: # get the service class for the project e.g: GitHubService. service_class = build.project.git_service_class() - users = build.project.users.all() try: remote_repository = build.project.remote_repository - # TODO: Update this queryset to make it work on commercial remote_repository_relations = ( remote_repository.remote_repository_relations.filter( account__isnull=False, - user__projects=build.project + # Use ``user_in=`` instead of ``user__projects=`` here + # because User's are not related to Project's directly in + # Read the Docs for Business + user__in=AdminPermission.members(build.project), ).select_related('account', 'user').only('user', 'account') ) @@ -1941,6 +1943,7 @@ def send_build_status(build_pk, commit, status, link_to_build=False): build.project.slug, ) # Try to send build status for projects with no RemoteRepository + users = build.project.users.all() for user in users: services = service_class.for_user(user) # Try to loop through services for users all social accounts From 8dcdd42b846e15157810ca8294413fbd5f780ec9 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Tue, 5 Jan 2021 16:11:06 +0100 Subject: [PATCH 69/89] Move `users` variable definition where it was --- readthedocs/projects/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/projects/tasks.py b/readthedocs/projects/tasks.py index 705cd4a0a0a..06fbc7dc968 100644 --- a/readthedocs/projects/tasks.py +++ b/readthedocs/projects/tasks.py @@ -1900,6 +1900,7 @@ def send_build_status(build_pk, commit, status, link_to_build=False): if provider_name in [GITHUB_BRAND, GITLAB_BRAND]: # get the service class for the project e.g: GitHubService. service_class = build.project.git_service_class() + users = build.project.users.all() try: remote_repository = build.project.remote_repository @@ -1943,7 +1944,6 @@ def send_build_status(build_pk, commit, status, link_to_build=False): build.project.slug, ) # Try to send build status for projects with no RemoteRepository - users = build.project.users.all() for user in users: services = service_class.for_user(user) # Try to loop through services for users all social accounts From e9619cdf7292de21a97562cdc068be7d26402cac Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 6 Jan 2021 13:35:43 +0600 Subject: [PATCH 70/89] Add manafement command to Sync RemoteRepositories and RemoteOrganizations --- .../management/commands/sync_vcs_data.py | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 readthedocs/oauth/management/commands/sync_vcs_data.py diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py new file mode 100644 index 00000000000..12139d3b6c1 --- /dev/null +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -0,0 +1,74 @@ +from django.contrib.auth.models import User +from django.core.management.base import BaseCommand + +from readthedocs.oauth.tasks import sync_remote_repositories + + +class Command(BaseCommand): + help = "Sync OAuth RemoteRepository and RemoteOrganization" + + def add_arguments(self, parser): + parser.add_argument( + '--queue', + type=str, + default='resync-oauth', + help='Celery queue name.', + ) + parser.add_argument( + '--users', + nargs='*', + type=str, + default=[], + help='Re-sync VCS provider data for specific users only.', + ) + parser.add_argument( + '--skip-users', + nargs='*', + type=str, + default=[], + help='Skip re-sync VCS provider data for specific users.', + ) + parser.add_argument( + '--max-users', + type=int, + default=100, + help='Maximum number of users that should be synced.', + ) + + def handle(self, *args, **options): + queue = options.get('queue') + sync_users = options.get('users') + skip_users = options.get('skip_users') + max_users = options.get('max_users') + + # Filter users who have social accounts connected + # and has no remote repository relations + users = User.objects.filter( + socialaccount__isnull=False, + remote_repository_relations__isnull=True + ).distinct() + + if sync_users: + users = users.filter(username__in=sync_users) + + if skip_users: + users = users.exclude(username__in=skip_users) + + users_to_sync = users.values_list('id', flat=True)[:max_users] + + self.stdout.write( + self.style.SUCCESS( + 'Found %s user(s) with the given parameters' % users.count() + ) + ) + self.stdout.write( + self.style.SUCCESS( + 'Re-syncing VCS Providers for %s user(s)' % len(users_to_sync) + ) + ) + + for user_id in users_to_sync: + # Trigger Sync Remote Repository Tasks for users + sync_remote_repositories.apply_async( + args=[user_id], queue=queue + ) From f275bbb0f088104fcfc51500c53b36f1db77e394 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Thu, 7 Jan 2021 20:22:55 +0600 Subject: [PATCH 71/89] Add force option to force re-sync VCS provider data --- .../oauth/management/commands/sync_vcs_data.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py index 12139d3b6c1..e25c9bd72cb 100644 --- a/readthedocs/oauth/management/commands/sync_vcs_data.py +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -34,20 +34,31 @@ def add_arguments(self, parser): default=100, help='Maximum number of users that should be synced.', ) + parser.add_argument( + '--force', + action='store_true', + default=False, + help='Force re-sync VCS provider data even if the users are already synced.', + ) def handle(self, *args, **options): queue = options.get('queue') sync_users = options.get('users') skip_users = options.get('skip_users') max_users = options.get('max_users') + force_sync = options.get('force') # Filter users who have social accounts connected # and has no remote repository relations users = User.objects.filter( - socialaccount__isnull=False, - remote_repository_relations__isnull=True + socialaccount__isnull=False ).distinct() + if not force_sync: + users = users.filter( + remote_repository_relations__isnull=True + ).distinct() + if sync_users: users = users.filter(username__in=sync_users) From 097ba395e5a0522530131733c9a45efaf87cc137 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Fri, 8 Jan 2021 17:41:10 +0600 Subject: [PATCH 72/89] update comment --- readthedocs/oauth/management/commands/sync_vcs_data.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py index e25c9bd72cb..2737d453335 100644 --- a/readthedocs/oauth/management/commands/sync_vcs_data.py +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -48,8 +48,7 @@ def handle(self, *args, **options): max_users = options.get('max_users') force_sync = options.get('force') - # Filter users who have social accounts connected - # and has no remote repository relations + # Filter users who have social accounts connected to their RTD account users = User.objects.filter( socialaccount__isnull=False ).distinct() From 705cded6ae73431ffe2dbaeb261a37a7d6747435 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Fri, 8 Jan 2021 17:47:02 +0600 Subject: [PATCH 73/89] at least one username needs to be provided for users and skip users options --- readthedocs/oauth/management/commands/sync_vcs_data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py index 2737d453335..9d4c7f7c69f 100644 --- a/readthedocs/oauth/management/commands/sync_vcs_data.py +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -16,14 +16,14 @@ def add_arguments(self, parser): ) parser.add_argument( '--users', - nargs='*', + nargs='+', type=str, default=[], help='Re-sync VCS provider data for specific users only.', ) parser.add_argument( '--skip-users', - nargs='*', + nargs='+', type=str, default=[], help='Skip re-sync VCS provider data for specific users.', From 1e5dd5ecc3e9ceded206b9a2dacb57acf1b05a49 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 12 Jan 2021 18:48:05 +0600 Subject: [PATCH 74/89] added --no-dry-run option and added more user count output --- db.json | 3088 +++++++++++++++++ .../management/commands/sync_vcs_data.py | 52 +- 2 files changed, 3126 insertions(+), 14 deletions(-) create mode 100644 db.json diff --git a/db.json b/db.json new file mode 100644 index 00000000000..b376aa7c0cd --- /dev/null +++ b/db.json @@ -0,0 +1,3088 @@ +[ +{ + "model": "auth.user", + "pk": 1, + "fields": { + "password": "pbkdf2_sha256$150000$1c7lMQ5bThiC$h9P/jHEpeIsoVjEn7TU594Hsd+K/8ZH+TOG4o91BN4k=", + "last_login": "2021-01-09T17:35:00.013Z", + "is_superuser": true, + "username": "admin", + "first_name": "", + "last_name": "", + "email": "", + "is_staff": true, + "is_active": true, + "date_joined": "2021-01-09T17:34:49.819Z", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "auth.user", + "pk": 2, + "fields": { + "password": "!Idx0nAbBe1b5sOIEkjbfZo7dOkU7Re3D9JCoj7RK", + "last_login": "2021-01-09T17:44:58.078Z", + "is_superuser": false, + "username": "saadmk11", + "first_name": "Maksudul", + "last_name": "Haque", + "email": "saad.mk112@gmail.com", + "is_staff": false, + "is_active": true, + "date_joined": "2021-01-09T17:44:54.810Z", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "auth.user", + "pk": 3, + "fields": { + "password": "!LSxWa9FnV8HgkbwvUKg44pK04gwDOkwMvSWdpyUM", + "last_login": "2021-01-09T17:45:14.683Z", + "is_superuser": false, + "username": "saadmk-test", + "first_name": "", + "last_name": "", + "email": "saad.mk114@gmail.com", + "is_staff": false, + "is_active": true, + "date_joined": "2021-01-09T17:45:07.895Z", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "auth.user", + "pk": 4, + "fields": { + "password": "!IQrB1EVGWkZQmbPshrt0320OFFVKmPsWOlqPXBRZ", + "last_login": "2021-01-09T17:45:30.236Z", + "is_superuser": false, + "username": "saadmk11-lab", + "first_name": "Maksudul", + "last_name": "Haque", + "email": "saad.mk11@hotmail.com", + "is_staff": false, + "is_active": true, + "date_joined": "2021-01-09T17:45:19.438Z", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "auth.user", + "pk": 5, + "fields": { + "password": "!YHdbLKAadgkPMF8ooSPoqFXSIl1XWYoNGrjVPkhR", + "last_login": "2021-01-09T17:45:51.079Z", + "is_superuser": false, + "username": "saadmk", + "first_name": "Maksudul", + "last_name": "Haque", + "email": "saad.mk1125@gmail.com", + "is_staff": false, + "is_active": true, + "date_joined": "2021-01-09T17:45:41.297Z", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "admin.logentry", + "pk": 1, + "fields": { + "action_time": "2021-01-09T17:35:25.664Z", + "user": 1, + "content_type": 53, + "object_id": "1", + "object_repr": "GitHub", + "action_flag": 1, + "change_message": "[{\"added\": {}}]" + } +}, +{ + "model": "admin.logentry", + "pk": 2, + "fields": { + "action_time": "2021-01-09T17:35:53.788Z", + "user": 1, + "content_type": 53, + "object_id": "2", + "object_repr": "GitLab", + "action_flag": 1, + "change_message": "[{\"added\": {}}]" + } +}, +{ + "model": "admin.logentry", + "pk": 3, + "fields": { + "action_time": "2021-01-09T17:36:29.188Z", + "user": 1, + "content_type": 53, + "object_id": "3", + "object_repr": "Bitbucket", + "action_flag": 1, + "change_message": "[{\"added\": {}}]" + } +}, +{ + "model": "sessions.session", + "pk": "1457ndu30xkqgjsvf8fe9n71fl123e6z", + "fields": { + "session_data": "ZjIxY2M2NGJmNjE1YjBjYmY1MzFmOGJjMGMyMzE0MTZmMzg1NTViZjp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiI0IiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiNjRjNGU2NjllNmUzZmJmMTNhYjNiMmMxMmZjYTg0MWU4MzUxNjAzZSJ9", + "expire_date": "2021-02-08T17:46:25.034Z" + } +}, +{ + "model": "sessions.session", + "pk": "7j5n70tj7aknmc3xw8i3z9gxee63dbqt", + "fields": { + "session_data": "OGNmZWY3OWQ1OWU4MzExZTJiMzI0YmM4MWQyMDEwMGIxNjViZDVkMjp7Il9hdXRoX3VzZXJfaWQiOiIxIiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiZGphbmdvLmNvbnRyaWIuYXV0aC5iYWNrZW5kcy5Nb2RlbEJhY2tlbmQiLCJfYXV0aF91c2VyX2hhc2giOiIwMGRiZGM2NDFhMmYwMjYxODE1YjRmNjQwZGQ5NGRjYjI4NjE3MGM4In0=", + "expire_date": "2021-02-08T17:36:29.597Z" + } +}, +{ + "model": "sessions.session", + "pk": "82g2h5kayrbklr86hwzj1jdjs149d2kq", + "fields": { + "session_data": "NTYyYTMyZDA0Y2FiMmU2YTJhMTdmZWNjMDkyMjE0YmE5NWVmZTkzNzp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiI1IiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiMTNlOTU2ODhiZDg3MTAwZGFlODMyMDQ3ZGRiYjUyMDgxMDlhZTU4OSJ9", + "expire_date": "2021-02-08T17:46:34.454Z" + } +}, +{ + "model": "sessions.session", + "pk": "99edwoea1rgtnhmbvfproxorz6xpsai7", + "fields": { + "session_data": "MDExMjViMzJiMjA4ZDBhMjA5NGZmODNlOGM3NDkxMmJmYWQzZjg4Mzp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiIyIiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiYjFmZjMxYWFmYzg4OTM2MTEyZWU4Njc3YWY1NTQ2NGIyMjJhMTAyNiJ9", + "expire_date": "2021-02-08T17:46:06.819Z" + } +}, +{ + "model": "sessions.session", + "pk": "c0yzc9mbngtw2azfh23zzebtsw239vd5", + "fields": { + "session_data": "ODczNmMxMzhjMmJlYjMxMGRhODFlM2E3Njk0ODIxZWE4ZDJmYzUwODp7InNvY2lhbGFjY291bnRfc3RhdGUiOlt7InByb2Nlc3MiOiJsb2dpbiIsInNjb3BlIjoiIiwiYXV0aF9wYXJhbXMiOiIifSwiTk45SVN0UEo2Wkx2Il19", + "expire_date": "2021-02-08T17:41:18.462Z" + } +}, +{ + "model": "sessions.session", + "pk": "rawqbxvqb9i5a08jpxumct7g3prig2jy", + "fields": { + "session_data": "ZmI0NjdmNTBhNDA4YzZmZDc2NjFlZDA3NWU2OWY3NTgyMjdjMjI2Yzp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiIzIiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiZThmMzI4N2VlOGM3MzJhM2Q2MTAwNjIyYTc2NTVmZGM5NDk2YzYxNyJ9", + "expire_date": "2021-02-08T17:46:14.365Z" + } +}, +{ + "model": "sites.site", + "pk": 1, + "fields": { + "domain": "example.com", + "name": "example.com" + } +}, +{ + "model": "messages_extends.message", + "pk": 1, + "fields": { + "user": 2, + "message": "Your primary email address is not verified. Please verify it here.", + "level": 41, + "extra_tags": "", + "created": "2021-01-09T17:44:58.959Z", + "modified": "2021-01-09T17:44:58.959Z", + "read": false, + "expires": null + } +}, +{ + "model": "messages_extends.message", + "pk": 2, + "fields": { + "user": 3, + "message": "Your primary email address is not verified. Please verify it here.", + "level": 41, + "extra_tags": "", + "created": "2021-01-09T17:45:15.553Z", + "modified": "2021-01-09T17:45:15.553Z", + "read": false, + "expires": null + } +}, +{ + "model": "messages_extends.message", + "pk": 3, + "fields": { + "user": 4, + "message": "Your primary email address is not verified. Please verify it here.", + "level": 41, + "extra_tags": "", + "created": "2021-01-09T17:45:31.084Z", + "modified": "2021-01-09T17:45:31.084Z", + "read": false, + "expires": null + } +}, +{ + "model": "messages_extends.message", + "pk": 4, + "fields": { + "user": 5, + "message": "Your primary email address is not verified. Please verify it here.", + "level": 41, + "extra_tags": "", + "created": "2021-01-09T17:45:51.927Z", + "modified": "2021-01-09T17:45:51.927Z", + "read": false, + "expires": null + } +}, +{ + "model": "projects.feature", + "pk": 1, + "fields": { + "feature_id": "allow_deprecated_webhooks", + "add_date": "2021-01-09T17:34:23.492Z", + "default_true": true, + "future_default_true": false, + "projects": [] + } +}, +{ + "model": "oauth.remoteorganization", + "pk": 1, + "fields": { + "pub_date": "2021-01-09T17:46:03.067Z", + "modified_date": "2021-01-09T17:46:03.082Z", + "account": 1, + "active": false, + "slug": "readthedocs", + "name": "Read the Docs", + "email": null, + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "url": "https://github.com/readthedocs", + "json": "{\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"url\": \"https://api.github.com/orgs/readthedocs\", \"repos_url\": \"https://api.github.com/orgs/readthedocs/repos\", \"events_url\": \"https://api.github.com/orgs/readthedocs/events\", \"hooks_url\": \"https://api.github.com/orgs/readthedocs/hooks\", \"issues_url\": \"https://api.github.com/orgs/readthedocs/issues\", \"members_url\": \"https://api.github.com/orgs/readthedocs/members{/member}\", \"public_members_url\": \"https://api.github.com/orgs/readthedocs/public_members{/member}\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"description\": \"\", \"name\": \"Read the Docs\", \"company\": null, \"blog\": \"http://readthedocs.org\", \"location\": \"Oregon & Worldwide\", \"email\": null, \"twitter_username\": null, \"is_verified\": false, \"has_organization_projects\": true, \"has_repository_projects\": true, \"public_repos\": 33, \"public_gists\": 0, \"followers\": 0, \"following\": 0, \"html_url\": \"https://github.com/readthedocs\", \"created_at\": \"2010-08-16T19:17:46Z\", \"updated_at\": \"2020-12-14T15:27:28Z\", \"type\": \"Organization\", \"total_private_repos\": 23, \"owned_private_repos\": 23, \"private_gists\": null, \"disk_usage\": null, \"collaborators\": null, \"billing_email\": null, \"default_repository_permission\": null, \"members_can_create_repositories\": true, \"two_factor_requirement_enabled\": null, \"members_can_create_pages\": true, \"plan\": {\"name\": \"team\", \"space\": 976562499, \"private_repos\": 999999, \"filled_seats\": 40, \"seats\": 24}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoteorganization", + "pk": 2, + "fields": { + "pub_date": "2021-01-09T17:46:17.404Z", + "modified_date": "2021-01-09T17:46:17.418Z", + "account": 3, + "active": false, + "slug": "rtd-permissions-tests", + "name": "rtd-permissions-tests", + "email": null, + "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", + "url": "https://gitlab.com/rtd-permissions-tests", + "json": "{\"id\": 10423247, \"web_url\": \"https://gitlab.com/groups/rtd-permissions-tests\", \"name\": \"rtd-permissions-tests\", \"path\": \"rtd-permissions-tests\", \"description\": \"\", \"visibility\": \"private\", \"share_with_group_lock\": false, \"require_two_factor_authentication\": false, \"two_factor_grace_period\": 48, \"project_creation_level\": \"developer\", \"auto_devops_enabled\": null, \"subgroup_creation_level\": \"maintainer\", \"emails_disabled\": null, \"mentions_disabled\": null, \"lfs_enabled\": true, \"default_branch_protection\": 2, \"avatar_url\": null, \"request_access_enabled\": true, \"full_name\": \"rtd-permissions-tests\", \"full_path\": \"rtd-permissions-tests\", \"created_at\": \"2020-12-16T17:12:45.437Z\", \"parent_id\": null, \"ldap_cn\": null, \"ldap_access\": null}", + "users": [ + 4 + ] + } +}, +{ + "model": "oauth.remoteorganization", + "pk": 3, + "fields": { + "pub_date": "2021-01-09T17:46:18.659Z", + "modified_date": "2021-01-09T17:46:18.676Z", + "account": 3, + "active": false, + "slug": "saadmk11-group", + "name": "saadmk11-group", + "email": null, + "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", + "url": "https://gitlab.com/saadmk11-group", + "json": "{\"id\": 10411125, \"web_url\": \"https://gitlab.com/groups/saadmk11-group\", \"name\": \"saadmk11-group\", \"path\": \"saadmk11-group\", \"description\": \"\", \"visibility\": \"public\", \"share_with_group_lock\": false, \"require_two_factor_authentication\": false, \"two_factor_grace_period\": 48, \"project_creation_level\": \"developer\", \"auto_devops_enabled\": null, \"subgroup_creation_level\": \"maintainer\", \"emails_disabled\": null, \"mentions_disabled\": null, \"lfs_enabled\": true, \"default_branch_protection\": 2, \"avatar_url\": null, \"request_access_enabled\": true, \"full_name\": \"saadmk11-group\", \"full_path\": \"saadmk11-group\", \"created_at\": \"2020-12-15T14:48:06.130Z\", \"parent_id\": null, \"ldap_cn\": null, \"ldap_access\": null}", + "users": [ + 4 + ] + } +}, +{ + "model": "oauth.remoteorganization", + "pk": 4, + "fields": { + "pub_date": "2021-01-09T17:46:19.929Z", + "modified_date": "2021-01-09T17:46:19.940Z", + "account": 3, + "active": false, + "slug": "thesmartlabs", + "name": "thesmartlabs", + "email": null, + "avatar_url": "https://gitlab.com/uploads/-/system/group/avatar/733016/14196019_1287354601305161_4273953876227814740_o-min.png", + "url": "https://gitlab.com/thesmartlabs", + "json": "{\"id\": 733016, \"web_url\": \"https://gitlab.com/groups/thesmartlabs\", \"name\": \"thesmartlabs\", \"path\": \"thesmartlabs\", \"description\": \"The Smart Labs\", \"visibility\": \"private\", \"share_with_group_lock\": false, \"require_two_factor_authentication\": false, \"two_factor_grace_period\": 48, \"project_creation_level\": \"developer\", \"auto_devops_enabled\": null, \"subgroup_creation_level\": \"owner\", \"emails_disabled\": null, \"mentions_disabled\": null, \"lfs_enabled\": true, \"default_branch_protection\": 2, \"avatar_url\": \"https://gitlab.com/uploads/-/system/group/avatar/733016/14196019_1287354601305161_4273953876227814740_o-min.png\", \"request_access_enabled\": true, \"full_name\": \"thesmartlabs\", \"full_path\": \"thesmartlabs\", \"created_at\": \"2016-07-13T13:31:37.685Z\", \"parent_id\": null, \"ldap_cn\": null, \"ldap_access\": null}", + "users": [ + 4 + ] + } +}, +{ + "model": "oauth.remoteorganization", + "pk": 5, + "fields": { + "pub_date": "2021-01-09T17:46:31.079Z", + "modified_date": "2021-01-09T17:46:31.094Z", + "account": 4, + "active": false, + "slug": "saadmk11-bitbucket-test", + "name": "test", + "email": null, + "avatar_url": "https://bitbucket.org/account/saadmk11-bitbucket-test/avatar/", + "url": "https://bitbucket.org/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/", + "json": "{\"username\": \"saadmk11-bitbucket-test\", \"display_name\": \"test\", \"uuid\": \"{df975040-4c28-47ce-ac1e-529aa8e80530}\", \"links\": {\"hooks\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/hooks\"}, \"self\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}, \"repositories\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/saadmk11-bitbucket-test/avatar/\"}, \"members\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/members\"}, \"projects\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/projects/\"}, \"snippets\": {\"href\": \"https://api.bitbucket.org/2.0/snippets/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}}, \"created_on\": \"2021-01-01T09:36:29.177489+00:00\", \"type\": \"team\", \"properties\": {}, \"has_2fa_enabled\": null}", + "users": [ + 5 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 1, + "fields": { + "pub_date": "2021-01-09T17:46:01.392Z", + "modified_date": "2021-01-09T17:46:04.868Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "readthedocs-sphinx-search", + "full_name": "readthedocs/readthedocs-sphinx-search", + "description": "Enable search-as-you-type feature for docs hosted by RTD.", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/readthedocs-sphinx-search.git", + "clone_url": "https://github.com/readthedocs/readthedocs-sphinx-search.git", + "html_url": "https://github.com/readthedocs/readthedocs-sphinx-search", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 190130026, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTAxMzAwMjY=\", \"name\": \"readthedocs-sphinx-search\", \"full_name\": \"readthedocs/readthedocs-sphinx-search\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-sphinx-search\", \"description\": \"Enable search-as-you-type feature for docs hosted by RTD.\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/deployments\", \"created_at\": \"2019-06-04T04:39:13Z\", \"updated_at\": \"2020-12-21T21:54:28Z\", \"pushed_at\": \"2021-01-06T18:10:33Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-sphinx-search.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-sphinx-search.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-sphinx-search.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-sphinx-search\", \"homepage\": \"https://readthedocs-sphinx-search.readthedocs.io/\", \"size\": 1746, \"stargazers_count\": 13, \"watchers_count\": 13, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 10, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 3, \"open_issues\": 10, \"watchers\": 13, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 2, + "fields": { + "pub_date": "2021-01-09T17:46:01.419Z", + "modified_date": "2021-01-09T17:46:04.419Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "readthedocs.org", + "full_name": "readthedocs/readthedocs.org", + "description": "The source code that powers readthedocs.org", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/readthedocs.org.git", + "clone_url": "https://github.com/readthedocs/readthedocs.org.git", + "html_url": "https://github.com/readthedocs/readthedocs.org", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 841835, \"node_id\": \"MDEwOlJlcG9zaXRvcnk4NDE4MzU=\", \"name\": \"readthedocs.org\", \"full_name\": \"readthedocs/readthedocs.org\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs.org\", \"description\": \"The source code that powers readthedocs.org\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs.org\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/deployments\", \"created_at\": \"2010-08-16T19:18:06Z\", \"updated_at\": \"2021-01-09T02:06:07Z\", \"pushed_at\": \"2021-01-08T18:23:43Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs.org.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs.org.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs.org.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs.org\", \"homepage\": \"https://readthedocs.org/\", \"size\": 69101, \"stargazers_count\": 6265, \"watchers_count\": 6265, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 3291, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 322, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 3291, \"open_issues\": 322, \"watchers\": 6265, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 3, + "fields": { + "pub_date": "2021-01-09T17:46:01.440Z", + "modified_date": "2021-01-09T17:46:01.451Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "addons-server", + "full_name": "saadmk11/addons-server", + "description": "\ud83d\udd76 addons.mozilla.org Django app and API \ud83c\udf89", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/addons-server.git", + "clone_url": "https://github.com/saadmk11/addons-server.git", + "html_url": "https://github.com/saadmk11/addons-server", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 233437443, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzM0Mzc0NDM=\", \"name\": \"addons-server\", \"full_name\": \"saadmk11/addons-server\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/addons-server\", \"description\": \"\\ud83d\\udd76 addons.mozilla.org Django app and API \\ud83c\\udf89\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/addons-server\", \"forks_url\": \"https://api.github.com/repos/saadmk11/addons-server/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/addons-server/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/addons-server/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/addons-server/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/addons-server/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/addons-server/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/addons-server/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/addons-server/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/addons-server/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/addons-server/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/addons-server/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/addons-server/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/addons-server/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/addons-server/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/addons-server/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/addons-server/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/addons-server/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/addons-server/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/addons-server/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/addons-server/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/addons-server/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/addons-server/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/addons-server/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/addons-server/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/addons-server/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/addons-server/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/addons-server/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/addons-server/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/addons-server/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/addons-server/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/addons-server/deployments\", \"created_at\": \"2020-01-12T18:18:38Z\", \"updated_at\": \"2020-01-12T18:18:40Z\", \"pushed_at\": \"2020-01-12T17:41:56Z\", \"git_url\": \"git://github.com/saadmk11/addons-server.git\", \"ssh_url\": \"git@github.com:saadmk11/addons-server.git\", \"clone_url\": \"https://github.com/saadmk11/addons-server.git\", \"svn_url\": \"https://github.com/saadmk11/addons-server\", \"homepage\": \"https://addons.mozilla.org/\", \"size\": 1087789, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-3-clause\", \"name\": \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\", \"spdx_id\": \"BSD-3-Clause\", \"url\": \"https://api.github.com/licenses/bsd-3-clause\", \"node_id\": \"MDc6TGljZW5zZTU=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 4, + "fields": { + "pub_date": "2021-01-09T17:46:01.460Z", + "modified_date": "2021-01-09T17:46:01.471Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "banking-system", + "full_name": "saadmk11/banking-system", + "description": "A banking System Created Using Django Python Web Framework", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/banking-system.git", + "clone_url": "https://github.com/saadmk11/banking-system.git", + "html_url": "https://github.com/saadmk11/banking-system", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 100115469, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDAxMTU0Njk=\", \"name\": \"banking-system\", \"full_name\": \"saadmk11/banking-system\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/banking-system\", \"description\": \"A banking System Created Using Django Python Web Framework\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/banking-system\", \"forks_url\": \"https://api.github.com/repos/saadmk11/banking-system/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/banking-system/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/banking-system/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/banking-system/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/banking-system/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/banking-system/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/banking-system/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/banking-system/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/banking-system/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/banking-system/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/banking-system/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/banking-system/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/banking-system/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/banking-system/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/banking-system/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/banking-system/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/banking-system/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/banking-system/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/banking-system/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/banking-system/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/banking-system/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/banking-system/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/banking-system/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/banking-system/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/banking-system/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/banking-system/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/banking-system/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/banking-system/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/banking-system/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/banking-system/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/banking-system/deployments\", \"created_at\": \"2017-08-12T13:54:44Z\", \"updated_at\": \"2021-01-07T19:45:11Z\", \"pushed_at\": \"2020-12-19T09:13:56Z\", \"git_url\": \"git://github.com/saadmk11/banking-system.git\", \"ssh_url\": \"git@github.com:saadmk11/banking-system.git\", \"clone_url\": \"https://github.com/saadmk11/banking-system.git\", \"svn_url\": \"https://github.com/saadmk11/banking-system\", \"homepage\": \"\", \"size\": 780, \"stargazers_count\": 88, \"watchers_count\": 88, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 52, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 6, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 52, \"open_issues\": 6, \"watchers\": 88, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 5, + "fields": { + "pub_date": "2021-01-09T17:46:01.480Z", + "modified_date": "2021-01-09T17:46:01.491Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "be-hiring-challenge", + "full_name": "saadmk11/be-hiring-challenge", + "description": "Hiring Challenge for Backend Developers", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/be-hiring-challenge.git", + "clone_url": "https://github.com/saadmk11/be-hiring-challenge.git", + "html_url": "https://github.com/saadmk11/be-hiring-challenge", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 231739735, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzE3Mzk3MzU=\", \"name\": \"be-hiring-challenge\", \"full_name\": \"saadmk11/be-hiring-challenge\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/be-hiring-challenge\", \"description\": \"Hiring Challenge for Backend Developers\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge\", \"forks_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/deployments\", \"created_at\": \"2020-01-04T09:37:57Z\", \"updated_at\": \"2020-01-04T09:37:59Z\", \"pushed_at\": \"2020-01-04T11:40:27Z\", \"git_url\": \"git://github.com/saadmk11/be-hiring-challenge.git\", \"ssh_url\": \"git@github.com:saadmk11/be-hiring-challenge.git\", \"clone_url\": \"https://github.com/saadmk11/be-hiring-challenge.git\", \"svn_url\": \"https://github.com/saadmk11/be-hiring-challenge\", \"homepage\": null, \"size\": 20, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 6, + "fields": { + "pub_date": "2021-01-09T17:46:01.501Z", + "modified_date": "2021-01-09T17:46:01.512Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "bedrock", + "full_name": "saadmk11/bedrock", + "description": "Making mozilla.org awesome, one pebble at a time", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/bedrock.git", + "clone_url": "https://github.com/saadmk11/bedrock.git", + "html_url": "https://github.com/saadmk11/bedrock", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 272738429, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzI3Mzg0Mjk=\", \"name\": \"bedrock\", \"full_name\": \"saadmk11/bedrock\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/bedrock\", \"description\": \"Making mozilla.org awesome, one pebble at a time\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/bedrock\", \"forks_url\": \"https://api.github.com/repos/saadmk11/bedrock/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/bedrock/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/bedrock/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/bedrock/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/bedrock/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/bedrock/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/bedrock/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/bedrock/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/bedrock/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/bedrock/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/bedrock/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/bedrock/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/bedrock/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/bedrock/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/bedrock/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/bedrock/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/bedrock/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/bedrock/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/bedrock/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/bedrock/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/bedrock/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/bedrock/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/bedrock/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/bedrock/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/bedrock/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/bedrock/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/bedrock/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/bedrock/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/bedrock/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/bedrock/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/bedrock/deployments\", \"created_at\": \"2020-06-16T15:01:47Z\", \"updated_at\": \"2020-06-16T15:01:49Z\", \"pushed_at\": \"2020-06-29T17:26:57Z\", \"git_url\": \"git://github.com/saadmk11/bedrock.git\", \"ssh_url\": \"git@github.com:saadmk11/bedrock.git\", \"clone_url\": \"https://github.com/saadmk11/bedrock.git\", \"svn_url\": \"https://github.com/saadmk11/bedrock\", \"homepage\": \"https://www.mozilla.org\", \"size\": 534652, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mpl-2.0\", \"name\": \"Mozilla Public License 2.0\", \"spdx_id\": \"MPL-2.0\", \"url\": \"https://api.github.com/licenses/mpl-2.0\", \"node_id\": \"MDc6TGljZW5zZTE0\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 7, + "fields": { + "pub_date": "2021-01-09T17:46:01.522Z", + "modified_date": "2021-01-09T17:46:01.533Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "blog", + "full_name": "saadmk11/blog", + "description": "Read the Docs blog", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/blog.git", + "clone_url": "https://github.com/saadmk11/blog.git", + "html_url": "https://github.com/saadmk11/blog", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 196700125, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTY3MDAxMjU=\", \"name\": \"blog\", \"full_name\": \"saadmk11/blog\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/blog\", \"description\": \"Read the Docs blog\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/blog\", \"forks_url\": \"https://api.github.com/repos/saadmk11/blog/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/blog/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/blog/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/blog/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/blog/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/blog/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/blog/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/blog/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/blog/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/blog/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/blog/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/blog/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/blog/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/blog/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/blog/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/blog/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/blog/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/blog/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/blog/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/blog/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/blog/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/blog/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/blog/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/blog/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/blog/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/blog/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/blog/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/blog/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/blog/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/blog/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/blog/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/blog/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/blog/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/blog/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/blog/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/blog/deployments\", \"created_at\": \"2019-07-13T08:53:44Z\", \"updated_at\": \"2019-07-13T08:53:47Z\", \"pushed_at\": \"2019-08-14T16:41:29Z\", \"git_url\": \"git://github.com/saadmk11/blog.git\", \"ssh_url\": \"git@github.com:saadmk11/blog.git\", \"clone_url\": \"https://github.com/saadmk11/blog.git\", \"svn_url\": \"https://github.com/saadmk11/blog\", \"homepage\": \"https://blog.readthedocs.com\", \"size\": 12837, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"CSS\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 8, + "fields": { + "pub_date": "2021-01-09T17:46:01.543Z", + "modified_date": "2021-01-09T17:46:01.553Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "cerebro", + "full_name": "saadmk11/cerebro", + "description": "Open-source productivity booster with a brain", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/cerebro.git", + "clone_url": "https://github.com/saadmk11/cerebro.git", + "html_url": "https://github.com/saadmk11/cerebro", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 181492569, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODE0OTI1Njk=\", \"name\": \"cerebro\", \"full_name\": \"saadmk11/cerebro\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/cerebro\", \"description\": \"Open-source productivity booster with a brain\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/cerebro\", \"forks_url\": \"https://api.github.com/repos/saadmk11/cerebro/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/cerebro/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/cerebro/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/cerebro/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/cerebro/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/cerebro/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/cerebro/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/cerebro/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/cerebro/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/cerebro/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/cerebro/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/cerebro/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/cerebro/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/cerebro/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/cerebro/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/cerebro/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/cerebro/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/cerebro/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/cerebro/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/cerebro/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/cerebro/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/cerebro/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/cerebro/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/cerebro/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/cerebro/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/cerebro/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/cerebro/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/cerebro/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/cerebro/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/cerebro/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/cerebro/deployments\", \"created_at\": \"2019-04-15T13:28:09Z\", \"updated_at\": \"2019-04-15T13:28:11Z\", \"pushed_at\": \"2019-04-15T13:59:17Z\", \"git_url\": \"git://github.com/saadmk11/cerebro.git\", \"ssh_url\": \"git@github.com:saadmk11/cerebro.git\", \"clone_url\": \"https://github.com/saadmk11/cerebro.git\", \"svn_url\": \"https://github.com/saadmk11/cerebro\", \"homepage\": \"https://cerebroapp.com\", \"size\": 3529, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 9, + "fields": { + "pub_date": "2021-01-09T17:46:01.563Z", + "modified_date": "2021-01-09T17:46:01.573Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "changelog-ci", + "full_name": "saadmk11/changelog-ci", + "description": "Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/changelog-ci.git", + "clone_url": "https://github.com/saadmk11/changelog-ci.git", + "html_url": "https://github.com/saadmk11/changelog-ci", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 292240176, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTIyNDAxNzY=\", \"name\": \"changelog-ci\", \"full_name\": \"saadmk11/changelog-ci\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/changelog-ci\", \"description\": \"Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/changelog-ci\", \"forks_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/deployments\", \"created_at\": \"2020-09-02T09:34:45Z\", \"updated_at\": \"2020-12-23T14:30:04Z\", \"pushed_at\": \"2020-12-09T07:19:09Z\", \"git_url\": \"git://github.com/saadmk11/changelog-ci.git\", \"ssh_url\": \"git@github.com:saadmk11/changelog-ci.git\", \"clone_url\": \"https://github.com/saadmk11/changelog-ci.git\", \"svn_url\": \"https://github.com/saadmk11/changelog-ci\", \"homepage\": \"https://github.com/marketplace/actions/changelog-ci\", \"size\": 83, \"stargazers_count\": 63, \"watchers_count\": 63, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 3, \"open_issues\": 2, \"watchers\": 63, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 10, + "fields": { + "pub_date": "2021-01-09T17:46:01.582Z", + "modified_date": "2021-01-09T17:46:01.593Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "coachPro", + "full_name": "saadmk11/coachPro", + "description": "Management System URL(http://jitindoriya.pythonanywhere.com/)", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/coachPro.git", + "clone_url": "https://github.com/saadmk11/coachPro.git", + "html_url": "https://github.com/saadmk11/coachPro", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 99428594, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5OTQyODU5NA==\", \"name\": \"coachPro\", \"full_name\": \"saadmk11/coachPro\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/coachPro\", \"description\": \"Management System URL(http://jitindoriya.pythonanywhere.com/)\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/coachPro\", \"forks_url\": \"https://api.github.com/repos/saadmk11/coachPro/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/coachPro/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/coachPro/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/coachPro/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/coachPro/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/coachPro/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/coachPro/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/coachPro/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/coachPro/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/coachPro/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/coachPro/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/coachPro/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/coachPro/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/coachPro/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/coachPro/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/coachPro/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/coachPro/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/coachPro/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/coachPro/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/coachPro/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/coachPro/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/coachPro/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/coachPro/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/coachPro/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/coachPro/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/coachPro/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/coachPro/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/coachPro/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/coachPro/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/coachPro/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/coachPro/deployments\", \"created_at\": \"2017-08-05T14:44:52Z\", \"updated_at\": \"2017-08-05T14:44:54Z\", \"pushed_at\": \"2017-08-13T07:52:27Z\", \"git_url\": \"git://github.com/saadmk11/coachPro.git\", \"ssh_url\": \"git@github.com:saadmk11/coachPro.git\", \"clone_url\": \"https://github.com/saadmk11/coachPro.git\", \"svn_url\": \"https://github.com/saadmk11/coachPro\", \"homepage\": \"\", \"size\": 6124, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 11, + "fields": { + "pub_date": "2021-01-09T17:46:01.603Z", + "modified_date": "2021-01-09T17:46:01.614Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "code.djangoproject.com", + "full_name": "saadmk11/code.djangoproject.com", + "description": "Configuration for Django's Trac instance (code.djangoproject.com)", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/code.djangoproject.com.git", + "clone_url": "https://github.com/saadmk11/code.djangoproject.com.git", + "html_url": "https://github.com/saadmk11/code.djangoproject.com", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 234776231, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzQ3NzYyMzE=\", \"name\": \"code.djangoproject.com\", \"full_name\": \"saadmk11/code.djangoproject.com\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/code.djangoproject.com\", \"description\": \"Configuration for Django's Trac instance (code.djangoproject.com)\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com\", \"forks_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/deployments\", \"created_at\": \"2020-01-18T18:11:39Z\", \"updated_at\": \"2020-01-18T18:11:40Z\", \"pushed_at\": \"2020-01-03T12:07:34Z\", \"git_url\": \"git://github.com/saadmk11/code.djangoproject.com.git\", \"ssh_url\": \"git@github.com:saadmk11/code.djangoproject.com.git\", \"clone_url\": \"https://github.com/saadmk11/code.djangoproject.com.git\", \"svn_url\": \"https://github.com/saadmk11/code.djangoproject.com\", \"homepage\": null, \"size\": 2039, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 12, + "fields": { + "pub_date": "2021-01-09T17:46:01.624Z", + "modified_date": "2021-01-09T17:46:01.635Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django", + "full_name": "saadmk11/django", + "description": "The Web framework for perfectionists with deadlines.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django.git", + "clone_url": "https://github.com/saadmk11/django.git", + "html_url": "https://github.com/saadmk11/django", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 97323645, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5NzMyMzY0NQ==\", \"name\": \"django\", \"full_name\": \"saadmk11/django\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django\", \"description\": \"The Web framework for perfectionists with deadlines.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django/deployments\", \"created_at\": \"2017-07-15T15:11:40Z\", \"updated_at\": \"2017-07-15T15:12:07Z\", \"pushed_at\": \"2017-07-15T14:36:35Z\", \"git_url\": \"git://github.com/saadmk11/django.git\", \"ssh_url\": \"git@github.com:saadmk11/django.git\", \"clone_url\": \"https://github.com/saadmk11/django.git\", \"svn_url\": \"https://github.com/saadmk11/django\", \"homepage\": \"https://www.djangoproject.com/\", \"size\": 165694, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 13, + "fields": { + "pub_date": "2021-01-09T17:46:01.644Z", + "modified_date": "2021-01-09T17:46:01.655Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-elasticsearch-dsl", + "full_name": "saadmk11/django-elasticsearch-dsl", + "description": "This is a package that allows indexing of django models in elasticsearch with elasticsearch-dsl-py.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-elasticsearch-dsl.git", + "clone_url": "https://github.com/saadmk11/django-elasticsearch-dsl.git", + "html_url": "https://github.com/saadmk11/django-elasticsearch-dsl", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 116172312, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTYxNzIzMTI=\", \"name\": \"django-elasticsearch-dsl\", \"full_name\": \"saadmk11/django-elasticsearch-dsl\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-elasticsearch-dsl\", \"description\": \"This is a package that allows indexing of django models in elasticsearch with elasticsearch-dsl-py.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/deployments\", \"created_at\": \"2018-01-03T19:10:15Z\", \"updated_at\": \"2020-06-19T15:10:09Z\", \"pushed_at\": \"2017-12-15T13:47:00Z\", \"git_url\": \"git://github.com/saadmk11/django-elasticsearch-dsl.git\", \"ssh_url\": \"git@github.com:saadmk11/django-elasticsearch-dsl.git\", \"clone_url\": \"https://github.com/saadmk11/django-elasticsearch-dsl.git\", \"svn_url\": \"https://github.com/saadmk11/django-elasticsearch-dsl\", \"homepage\": null, \"size\": 108, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 14, + "fields": { + "pub_date": "2021-01-09T17:46:01.665Z", + "modified_date": "2021-01-09T17:46:01.675Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-import-export", + "full_name": "saadmk11/django-import-export", + "description": "Django application and library for importing and exporting data with admin integration.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-import-export.git", + "clone_url": "https://github.com/saadmk11/django-import-export.git", + "html_url": "https://github.com/saadmk11/django-import-export", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 251055239, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNTEwNTUyMzk=\", \"name\": \"django-import-export\", \"full_name\": \"saadmk11/django-import-export\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-import-export\", \"description\": \"Django application and library for importing and exporting data with admin integration.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-import-export\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-import-export/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-import-export/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-import-export/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-import-export/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-import-export/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-import-export/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-import-export/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-import-export/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-import-export/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-import-export/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-import-export/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-import-export/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-import-export/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-import-export/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-import-export/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-import-export/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-import-export/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-import-export/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-import-export/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-import-export/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-import-export/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-import-export/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-import-export/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-import-export/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-import-export/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-import-export/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-import-export/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-import-export/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-import-export/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-import-export/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-import-export/deployments\", \"created_at\": \"2020-03-29T14:43:40Z\", \"updated_at\": \"2020-03-29T14:43:42Z\", \"pushed_at\": \"2020-03-29T14:45:01Z\", \"git_url\": \"git://github.com/saadmk11/django-import-export.git\", \"ssh_url\": \"git@github.com:saadmk11/django-import-export.git\", \"clone_url\": \"https://github.com/saadmk11/django-import-export.git\", \"svn_url\": \"https://github.com/saadmk11/django-import-export\", \"homepage\": \"https://django-import-export.readthedocs.org/en/latest/\", \"size\": 2067, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-2-clause\", \"name\": \"BSD 2-Clause \\\"Simplified\\\" License\", \"spdx_id\": \"BSD-2-Clause\", \"url\": \"https://api.github.com/licenses/bsd-2-clause\", \"node_id\": \"MDc6TGljZW5zZTQ=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 15, + "fields": { + "pub_date": "2021-01-09T17:46:01.685Z", + "modified_date": "2021-01-09T17:46:01.695Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-newsfeed", + "full_name": "saadmk11/django-newsfeed", + "description": "A news curator and newsletter subscription package for Django", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-newsfeed.git", + "clone_url": "https://github.com/saadmk11/django-newsfeed.git", + "html_url": "https://github.com/saadmk11/django-newsfeed", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 289010521, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyODkwMTA1MjE=\", \"name\": \"django-newsfeed\", \"full_name\": \"saadmk11/django-newsfeed\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-newsfeed\", \"description\": \"A news curator and newsletter subscription package for Django\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/django-newsfeed\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/deployments\", \"created_at\": \"2020-08-20T13:14:37Z\", \"updated_at\": \"2020-12-24T04:57:25Z\", \"pushed_at\": \"2020-12-21T08:13:42Z\", \"git_url\": \"git://github.com/saadmk11/django-newsfeed.git\", \"ssh_url\": \"git@github.com:saadmk11/django-newsfeed.git\", \"clone_url\": \"https://github.com/saadmk11/django-newsfeed.git\", \"svn_url\": \"https://github.com/saadmk11/django-newsfeed\", \"homepage\": \"https://pypi.org/project/django-newsfeed/\", \"size\": 107, \"stargazers_count\": 145, \"watchers_count\": 145, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 8, \"open_issues\": 1, \"watchers\": 145, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 16, + "fields": { + "pub_date": "2021-01-09T17:46:01.702Z", + "modified_date": "2021-01-09T17:46:01.709Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-organizations", + "full_name": "saadmk11/django-organizations", + "description": ":couple: Multi-user accounts for Django projects", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-organizations.git", + "clone_url": "https://github.com/saadmk11/django-organizations.git", + "html_url": "https://github.com/saadmk11/django-organizations", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "dev", + "json": "{\"id\": 127004776, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjcwMDQ3NzY=\", \"name\": \"django-organizations\", \"full_name\": \"saadmk11/django-organizations\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-organizations\", \"description\": \":couple: Multi-user accounts for Django projects\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-organizations\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-organizations/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-organizations/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-organizations/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-organizations/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-organizations/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-organizations/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-organizations/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-organizations/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-organizations/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-organizations/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-organizations/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-organizations/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-organizations/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-organizations/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-organizations/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-organizations/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-organizations/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-organizations/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-organizations/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-organizations/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-organizations/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-organizations/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-organizations/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-organizations/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-organizations/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-organizations/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-organizations/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-organizations/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-organizations/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-organizations/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-organizations/deployments\", \"created_at\": \"2018-03-27T15:06:19Z\", \"updated_at\": \"2018-03-27T15:06:21Z\", \"pushed_at\": \"2018-02-16T18:44:32Z\", \"git_url\": \"git://github.com/saadmk11/django-organizations.git\", \"ssh_url\": \"git@github.com:saadmk11/django-organizations.git\", \"clone_url\": \"https://github.com/saadmk11/django-organizations.git\", \"svn_url\": \"https://github.com/saadmk11/django-organizations\", \"homepage\": \"http://django-organizations.readthedocs.org/\", \"size\": 712, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-2-clause\", \"name\": \"BSD 2-Clause \\\"Simplified\\\" License\", \"spdx_id\": \"BSD-2-Clause\", \"url\": \"https://api.github.com/licenses/bsd-2-clause\", \"node_id\": \"MDc6TGljZW5zZTQ=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"dev\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 17, + "fields": { + "pub_date": "2021-01-09T17:46:01.717Z", + "modified_date": "2021-01-09T17:46:01.728Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-rest-framework", + "full_name": "saadmk11/django-rest-framework", + "description": "Web APIs for Django.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-rest-framework.git", + "clone_url": "https://github.com/saadmk11/django-rest-framework.git", + "html_url": "https://github.com/saadmk11/django-rest-framework", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 125860820, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjU4NjA4MjA=\", \"name\": \"django-rest-framework\", \"full_name\": \"saadmk11/django-rest-framework\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-rest-framework\", \"description\": \"Web APIs for Django.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-rest-framework\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/deployments\", \"created_at\": \"2018-03-19T13:20:41Z\", \"updated_at\": \"2018-03-19T13:20:45Z\", \"pushed_at\": \"2018-03-19T10:02:43Z\", \"git_url\": \"git://github.com/saadmk11/django-rest-framework.git\", \"ssh_url\": \"git@github.com:saadmk11/django-rest-framework.git\", \"clone_url\": \"https://github.com/saadmk11/django-rest-framework.git\", \"svn_url\": \"https://github.com/saadmk11/django-rest-framework\", \"homepage\": \"www.django-rest-framework.org\", \"size\": 37783, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 18, + "fields": { + "pub_date": "2021-01-09T17:46:01.738Z", + "modified_date": "2021-01-09T17:46:01.749Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-rest-framework-simplejwt", + "full_name": "saadmk11/django-rest-framework-simplejwt", + "description": "A JSON Web Token authentication plugin for the Django REST Framework.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-rest-framework-simplejwt.git", + "clone_url": "https://github.com/saadmk11/django-rest-framework-simplejwt.git", + "html_url": "https://github.com/saadmk11/django-rest-framework-simplejwt", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 298503563, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1MDM1NjM=\", \"name\": \"django-rest-framework-simplejwt\", \"full_name\": \"saadmk11/django-rest-framework-simplejwt\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-rest-framework-simplejwt\", \"description\": \"A JSON Web Token authentication plugin for the Django REST Framework.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/deployments\", \"created_at\": \"2020-09-25T07:42:17Z\", \"updated_at\": \"2020-09-25T07:42:21Z\", \"pushed_at\": \"2020-12-22T05:59:39Z\", \"git_url\": \"git://github.com/saadmk11/django-rest-framework-simplejwt.git\", \"ssh_url\": \"git@github.com:saadmk11/django-rest-framework-simplejwt.git\", \"clone_url\": \"https://github.com/saadmk11/django-rest-framework-simplejwt.git\", \"svn_url\": \"https://github.com/saadmk11/django-rest-framework-simplejwt\", \"homepage\": \"https://django-rest-framework-simplejwt.readthedocs.io/\", \"size\": 456, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 19, + "fields": { + "pub_date": "2021-01-09T17:46:01.760Z", + "modified_date": "2021-01-09T17:46:01.770Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-select2", + "full_name": "saadmk11/django-select2", + "description": "This is a Django integration for Select2", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-select2.git", + "clone_url": "https://github.com/saadmk11/django-select2.git", + "html_url": "https://github.com/saadmk11/django-select2", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 115425389, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTU0MjUzODk=\", \"name\": \"django-select2\", \"full_name\": \"saadmk11/django-select2\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-select2\", \"description\": \"This is a Django integration for Select2\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-select2\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-select2/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-select2/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-select2/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-select2/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-select2/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-select2/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-select2/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-select2/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-select2/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-select2/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-select2/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-select2/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-select2/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-select2/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-select2/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-select2/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-select2/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-select2/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-select2/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-select2/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-select2/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-select2/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-select2/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-select2/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-select2/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-select2/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-select2/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-select2/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-select2/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-select2/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-select2/deployments\", \"created_at\": \"2017-12-26T13:39:45Z\", \"updated_at\": \"2017-12-26T13:39:46Z\", \"pushed_at\": \"2017-11-25T17:57:41Z\", \"git_url\": \"git://github.com/saadmk11/django-select2.git\", \"ssh_url\": \"git@github.com:saadmk11/django-select2.git\", \"clone_url\": \"https://github.com/saadmk11/django-select2.git\", \"svn_url\": \"https://github.com/saadmk11/django-select2\", \"homepage\": \"\", \"size\": 8013, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 20, + "fields": { + "pub_date": "2021-01-09T17:46:01.779Z", + "modified_date": "2021-01-09T17:46:01.790Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-todo", + "full_name": "saadmk11/django-todo", + "description": "Django Todo List API with Firebase Firestore Database", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-todo.git", + "clone_url": "https://github.com/saadmk11/django-todo.git", + "html_url": "https://github.com/saadmk11/django-todo", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 317289794, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMTcyODk3OTQ=\", \"name\": \"django-todo\", \"full_name\": \"saadmk11/django-todo\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-todo\", \"description\": \"Django Todo List API with Firebase Firestore Database\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/django-todo\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-todo/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-todo/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-todo/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-todo/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-todo/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-todo/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-todo/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-todo/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-todo/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-todo/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-todo/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-todo/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-todo/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-todo/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-todo/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-todo/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-todo/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-todo/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-todo/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-todo/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-todo/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-todo/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-todo/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-todo/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-todo/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-todo/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-todo/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-todo/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-todo/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-todo/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-todo/deployments\", \"created_at\": \"2020-11-30T16:58:38Z\", \"updated_at\": \"2020-12-03T14:51:30Z\", \"pushed_at\": \"2020-12-03T14:51:28Z\", \"git_url\": \"git://github.com/saadmk11/django-todo.git\", \"ssh_url\": \"git@github.com:saadmk11/django-todo.git\", \"clone_url\": \"https://github.com/saadmk11/django-todo.git\", \"svn_url\": \"https://github.com/saadmk11/django-todo\", \"homepage\": \"\", \"size\": 8, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 21, + "fields": { + "pub_date": "2021-01-09T17:46:01.800Z", + "modified_date": "2021-01-09T17:46:01.810Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django-webpush", + "full_name": "saadmk11/django-webpush", + "description": "Web Push Notification Package for Django", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django-webpush.git", + "clone_url": "https://github.com/saadmk11/django-webpush.git", + "html_url": "https://github.com/saadmk11/django-webpush", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 288185732, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyODgxODU3MzI=\", \"name\": \"django-webpush\", \"full_name\": \"saadmk11/django-webpush\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-webpush\", \"description\": \"Web Push Notification Package for Django\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-webpush\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-webpush/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-webpush/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-webpush/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-webpush/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-webpush/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-webpush/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-webpush/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-webpush/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-webpush/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-webpush/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-webpush/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-webpush/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-webpush/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-webpush/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-webpush/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-webpush/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-webpush/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-webpush/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-webpush/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-webpush/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-webpush/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-webpush/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-webpush/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-webpush/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-webpush/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-webpush/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-webpush/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-webpush/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-webpush/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-webpush/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-webpush/deployments\", \"created_at\": \"2020-08-17T13:20:12Z\", \"updated_at\": \"2020-08-17T13:20:14Z\", \"pushed_at\": \"2020-07-05T07:42:44Z\", \"git_url\": \"git://github.com/saadmk11/django-webpush.git\", \"ssh_url\": \"git@github.com:saadmk11/django-webpush.git\", \"clone_url\": \"https://github.com/saadmk11/django-webpush.git\", \"svn_url\": \"https://github.com/saadmk11/django-webpush\", \"homepage\": null, \"size\": 81, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 22, + "fields": { + "pub_date": "2021-01-09T17:46:01.817Z", + "modified_date": "2021-01-09T17:46:01.825Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "djangoproject.com", + "full_name": "saadmk11/djangoproject.com", + "description": "Source code to djangoproject.com", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/djangoproject.com.git", + "clone_url": "https://github.com/saadmk11/djangoproject.com.git", + "html_url": "https://github.com/saadmk11/djangoproject.com", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 100934927, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDA5MzQ5Mjc=\", \"name\": \"djangoproject.com\", \"full_name\": \"saadmk11/djangoproject.com\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/djangoproject.com\", \"description\": \"Source code to djangoproject.com\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/djangoproject.com\", \"forks_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/deployments\", \"created_at\": \"2017-08-21T09:16:34Z\", \"updated_at\": \"2019-05-22T15:52:00Z\", \"pushed_at\": \"2019-06-29T08:40:24Z\", \"git_url\": \"git://github.com/saadmk11/djangoproject.com.git\", \"ssh_url\": \"git@github.com:saadmk11/djangoproject.com.git\", \"clone_url\": \"https://github.com/saadmk11/djangoproject.com.git\", \"svn_url\": \"https://github.com/saadmk11/djangoproject.com\", \"homepage\": \"https://www.djangoproject.com/\", \"size\": 15250, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"PostScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 23, + "fields": { + "pub_date": "2021-01-09T17:46:01.832Z", + "modified_date": "2021-01-09T17:46:01.840Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "django_excel_input", + "full_name": "saadmk11/django_excel_input", + "description": "Upload Excel File to Django Database", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/django_excel_input.git", + "clone_url": "https://github.com/saadmk11/django_excel_input.git", + "html_url": "https://github.com/saadmk11/django_excel_input", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 114773341, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTQ3NzMzNDE=\", \"name\": \"django_excel_input\", \"full_name\": \"saadmk11/django_excel_input\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django_excel_input\", \"description\": \"Upload Excel File to Django Database\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/django_excel_input\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/deployments\", \"created_at\": \"2017-12-19T14:15:19Z\", \"updated_at\": \"2018-12-21T16:07:16Z\", \"pushed_at\": \"2017-12-19T14:22:51Z\", \"git_url\": \"git://github.com/saadmk11/django_excel_input.git\", \"ssh_url\": \"git@github.com:saadmk11/django_excel_input.git\", \"clone_url\": \"https://github.com/saadmk11/django_excel_input.git\", \"svn_url\": \"https://github.com/saadmk11/django_excel_input\", \"homepage\": null, \"size\": 16, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 4, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 4, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 24, + "fields": { + "pub_date": "2021-01-09T17:46:01.847Z", + "modified_date": "2021-01-09T17:46:01.854Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "dropbox-sdk-python", + "full_name": "saadmk11/dropbox-sdk-python", + "description": "Python SDK for Dropbox API v2.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/dropbox-sdk-python.git", + "clone_url": "https://github.com/saadmk11/dropbox-sdk-python.git", + "html_url": "https://github.com/saadmk11/dropbox-sdk-python", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 118485155, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTg0ODUxNTU=\", \"name\": \"dropbox-sdk-python\", \"full_name\": \"saadmk11/dropbox-sdk-python\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/dropbox-sdk-python\", \"description\": \"Python SDK for Dropbox API v2.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python\", \"forks_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/deployments\", \"created_at\": \"2018-01-22T16:42:34Z\", \"updated_at\": \"2018-01-22T16:42:37Z\", \"pushed_at\": \"2018-01-18T00:28:22Z\", \"git_url\": \"git://github.com/saadmk11/dropbox-sdk-python.git\", \"ssh_url\": \"git@github.com:saadmk11/dropbox-sdk-python.git\", \"clone_url\": \"https://github.com/saadmk11/dropbox-sdk-python.git\", \"svn_url\": \"https://github.com/saadmk11/dropbox-sdk-python\", \"homepage\": \"\", \"size\": 3571, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 25, + "fields": { + "pub_date": "2021-01-09T17:46:01.861Z", + "modified_date": "2021-01-09T17:46:01.869Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "dspace-rest-requests", + "full_name": "saadmk11/dspace-rest-requests", + "description": "Clone of: Bruno Nocera Zanette's https://gitlab.c3sl.ufpr.br/bnzanette/dspace-rest-requests I was doing some tests to prepare myself to write API's documentation, and to make it easier i've wrote some short scripts that implement all POST/PUT requests. It contains a script to execute each request, and descriptor files that describes each request (Verb, Action, and the request form itself). It's not very useful but it may help people that are struggling to use REST-API until the documentation is not ready. ", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/dspace-rest-requests.git", + "clone_url": "https://github.com/saadmk11/dspace-rest-requests.git", + "html_url": "https://github.com/saadmk11/dspace-rest-requests", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 113699004, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTM2OTkwMDQ=\", \"name\": \"dspace-rest-requests\", \"full_name\": \"saadmk11/dspace-rest-requests\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/dspace-rest-requests\", \"description\": \"Clone of: Bruno Nocera Zanette's https://gitlab.c3sl.ufpr.br/bnzanette/dspace-rest-requests I was doing some tests to prepare myself to write API's documentation, and to make it easier i've wrote some short scripts that implement all POST/PUT requests. It contains a script to execute each request, and descriptor files that describes each request (Verb, Action, and the request form itself). It's not very useful but it may help people that are struggling to use REST-API until the documentation is not ready. \", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests\", \"forks_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/deployments\", \"created_at\": \"2017-12-09T20:27:13Z\", \"updated_at\": \"2017-12-09T20:27:15Z\", \"pushed_at\": \"2017-11-03T18:31:41Z\", \"git_url\": \"git://github.com/saadmk11/dspace-rest-requests.git\", \"ssh_url\": \"git@github.com:saadmk11/dspace-rest-requests.git\", \"clone_url\": \"https://github.com/saadmk11/dspace-rest-requests.git\", \"svn_url\": \"https://github.com/saadmk11/dspace-rest-requests\", \"homepage\": null, \"size\": 98, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Shell\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 26, + "fields": { + "pub_date": "2021-01-09T17:46:01.875Z", + "modified_date": "2021-01-09T17:46:01.884Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "github-notifier-messenger-bot", + "full_name": "saadmk11/github-notifier-messenger-bot", + "description": "This is a messenger bot which will send message if there is any changes in users github repository", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/github-notifier-messenger-bot.git", + "clone_url": "https://github.com/saadmk11/github-notifier-messenger-bot.git", + "html_url": "https://github.com/saadmk11/github-notifier-messenger-bot", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 180400763, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODA0MDA3NjM=\", \"name\": \"github-notifier-messenger-bot\", \"full_name\": \"saadmk11/github-notifier-messenger-bot\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/github-notifier-messenger-bot\", \"description\": \"This is a messenger bot which will send message if there is any changes in users github repository\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot\", \"forks_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/deployments\", \"created_at\": \"2019-04-09T15:47:10Z\", \"updated_at\": \"2019-05-01T12:30:52Z\", \"pushed_at\": \"2019-05-01T12:30:50Z\", \"git_url\": \"git://github.com/saadmk11/github-notifier-messenger-bot.git\", \"ssh_url\": \"git@github.com:saadmk11/github-notifier-messenger-bot.git\", \"clone_url\": \"https://github.com/saadmk11/github-notifier-messenger-bot.git\", \"svn_url\": \"https://github.com/saadmk11/github-notifier-messenger-bot\", \"homepage\": null, \"size\": 26, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 27, + "fields": { + "pub_date": "2021-01-09T17:46:01.891Z", + "modified_date": "2021-01-09T17:46:01.899Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "image_downloader", + "full_name": "saadmk11/image_downloader", + "description": "An Image Downloader which Downloads Images from Text File Containing URLs using Python", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/image_downloader.git", + "clone_url": "https://github.com/saadmk11/image_downloader.git", + "html_url": "https://github.com/saadmk11/image_downloader", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 171930951, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNzE5MzA5NTE=\", \"name\": \"image_downloader\", \"full_name\": \"saadmk11/image_downloader\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/image_downloader\", \"description\": \"An Image Downloader which Downloads Images from Text File Containing URLs using Python\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/image_downloader\", \"forks_url\": \"https://api.github.com/repos/saadmk11/image_downloader/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/image_downloader/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/image_downloader/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/image_downloader/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/image_downloader/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/image_downloader/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/image_downloader/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/image_downloader/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/image_downloader/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/image_downloader/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/image_downloader/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/image_downloader/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/image_downloader/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/image_downloader/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/image_downloader/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/image_downloader/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/image_downloader/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/image_downloader/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/image_downloader/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/image_downloader/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/image_downloader/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/image_downloader/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/image_downloader/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/image_downloader/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/image_downloader/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/image_downloader/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/image_downloader/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/image_downloader/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/image_downloader/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/image_downloader/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/image_downloader/deployments\", \"created_at\": \"2019-02-21T19:21:09Z\", \"updated_at\": \"2019-02-21T19:35:12Z\", \"pushed_at\": \"2019-02-21T19:35:08Z\", \"git_url\": \"git://github.com/saadmk11/image_downloader.git\", \"ssh_url\": \"git@github.com:saadmk11/image_downloader.git\", \"clone_url\": \"https://github.com/saadmk11/image_downloader.git\", \"svn_url\": \"https://github.com/saadmk11/image_downloader\", \"homepage\": null, \"size\": 3, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 28, + "fields": { + "pub_date": "2021-01-09T17:46:01.906Z", + "modified_date": "2021-01-09T17:46:01.914Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "janeway", + "full_name": "saadmk11/janeway", + "description": "A journal management system designed for publishing scholarly articles.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/janeway.git", + "clone_url": "https://github.com/saadmk11/janeway.git", + "html_url": "https://github.com/saadmk11/janeway", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 127109433, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjcxMDk0MzM=\", \"name\": \"janeway\", \"full_name\": \"saadmk11/janeway\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/janeway\", \"description\": \"A journal management system designed for publishing scholarly articles.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/janeway\", \"forks_url\": \"https://api.github.com/repos/saadmk11/janeway/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/janeway/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/janeway/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/janeway/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/janeway/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/janeway/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/janeway/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/janeway/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/janeway/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/janeway/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/janeway/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/janeway/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/janeway/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/janeway/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/janeway/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/janeway/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/janeway/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/janeway/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/janeway/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/janeway/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/janeway/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/janeway/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/janeway/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/janeway/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/janeway/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/janeway/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/janeway/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/janeway/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/janeway/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/janeway/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/janeway/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/janeway/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/janeway/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/janeway/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/janeway/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/janeway/deployments\", \"created_at\": \"2018-03-28T08:32:41Z\", \"updated_at\": \"2018-03-28T08:32:45Z\", \"pushed_at\": \"2018-03-27T11:41:54Z\", \"git_url\": \"git://github.com/saadmk11/janeway.git\", \"ssh_url\": \"git@github.com:saadmk11/janeway.git\", \"clone_url\": \"https://github.com/saadmk11/janeway.git\", \"svn_url\": \"https://github.com/saadmk11/janeway\", \"homepage\": \"\", \"size\": 22697, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"agpl-3.0\", \"name\": \"GNU Affero General Public License v3.0\", \"spdx_id\": \"AGPL-3.0\", \"url\": \"https://api.github.com/licenses/agpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTE=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 29, + "fields": { + "pub_date": "2021-01-09T17:46:01.921Z", + "modified_date": "2021-01-09T17:46:01.929Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "kitsune", + "full_name": "saadmk11/kitsune", + "description": "Platform for Mozilla Support", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/kitsune.git", + "clone_url": "https://github.com/saadmk11/kitsune.git", + "html_url": "https://github.com/saadmk11/kitsune", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 233389757, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzMzODk3NTc=\", \"name\": \"kitsune\", \"full_name\": \"saadmk11/kitsune\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/kitsune\", \"description\": \"Platform for Mozilla Support\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/kitsune\", \"forks_url\": \"https://api.github.com/repos/saadmk11/kitsune/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/kitsune/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/kitsune/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/kitsune/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/kitsune/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/kitsune/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/kitsune/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/kitsune/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/kitsune/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/kitsune/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/kitsune/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/kitsune/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/kitsune/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/kitsune/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/kitsune/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/kitsune/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/kitsune/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/kitsune/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/kitsune/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/kitsune/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/kitsune/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/kitsune/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/kitsune/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/kitsune/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/kitsune/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/kitsune/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/kitsune/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/kitsune/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/kitsune/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/kitsune/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/kitsune/deployments\", \"created_at\": \"2020-01-12T12:34:18Z\", \"updated_at\": \"2020-01-15T12:51:52Z\", \"pushed_at\": \"2020-08-19T10:09:07Z\", \"git_url\": \"git://github.com/saadmk11/kitsune.git\", \"ssh_url\": \"git@github.com:saadmk11/kitsune.git\", \"clone_url\": \"https://github.com/saadmk11/kitsune.git\", \"svn_url\": \"https://github.com/saadmk11/kitsune\", \"homepage\": \"https://support.mozilla.org/\", \"size\": 131238, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": false, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-3-clause\", \"name\": \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\", \"spdx_id\": \"BSD-3-Clause\", \"url\": \"https://api.github.com/licenses/bsd-3-clause\", \"node_id\": \"MDc6TGljZW5zZTU=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 30, + "fields": { + "pub_date": "2021-01-09T17:46:01.936Z", + "modified_date": "2021-01-09T17:46:01.944Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "name-letter-picture-generator", + "full_name": "saadmk11/name-letter-picture-generator", + "description": "Create YouTube, Skype style profile picture using first letter of the name with random background color.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/name-letter-picture-generator.git", + "clone_url": "https://github.com/saadmk11/name-letter-picture-generator.git", + "html_url": "https://github.com/saadmk11/name-letter-picture-generator", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 115557244, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTU1NTcyNDQ=\", \"name\": \"name-letter-picture-generator\", \"full_name\": \"saadmk11/name-letter-picture-generator\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/name-letter-picture-generator\", \"description\": \"Create YouTube, Skype style profile picture using first letter of the name with random background color.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator\", \"forks_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/deployments\", \"created_at\": \"2017-12-27T21:00:44Z\", \"updated_at\": \"2020-08-09T18:44:48Z\", \"pushed_at\": \"2017-12-28T18:52:15Z\", \"git_url\": \"git://github.com/saadmk11/name-letter-picture-generator.git\", \"ssh_url\": \"git@github.com:saadmk11/name-letter-picture-generator.git\", \"clone_url\": \"https://github.com/saadmk11/name-letter-picture-generator.git\", \"svn_url\": \"https://github.com/saadmk11/name-letter-picture-generator\", \"homepage\": null, \"size\": 98, \"stargazers_count\": 3, \"watchers_count\": 3, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 3, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 31, + "fields": { + "pub_date": "2021-01-09T17:46:01.951Z", + "modified_date": "2021-01-09T17:46:01.958Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "normandy", + "full_name": "saadmk11/normandy", + "description": "Firefox recipe server", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/normandy.git", + "clone_url": "https://github.com/saadmk11/normandy.git", + "html_url": "https://github.com/saadmk11/normandy", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 100283111, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDAyODMxMTE=\", \"name\": \"normandy\", \"full_name\": \"saadmk11/normandy\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/normandy\", \"description\": \"Firefox recipe server\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/normandy\", \"forks_url\": \"https://api.github.com/repos/saadmk11/normandy/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/normandy/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/normandy/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/normandy/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/normandy/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/normandy/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/normandy/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/normandy/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/normandy/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/normandy/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/normandy/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/normandy/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/normandy/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/normandy/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/normandy/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/normandy/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/normandy/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/normandy/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/normandy/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/normandy/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/normandy/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/normandy/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/normandy/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/normandy/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/normandy/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/normandy/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/normandy/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/normandy/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/normandy/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/normandy/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/normandy/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/normandy/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/normandy/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/normandy/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/normandy/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/normandy/deployments\", \"created_at\": \"2017-08-14T15:36:16Z\", \"updated_at\": \"2017-08-14T15:36:18Z\", \"pushed_at\": \"2017-08-11T22:53:58Z\", \"git_url\": \"git://github.com/saadmk11/normandy.git\", \"ssh_url\": \"git@github.com:saadmk11/normandy.git\", \"clone_url\": \"https://github.com/saadmk11/normandy.git\", \"svn_url\": \"https://github.com/saadmk11/normandy\", \"homepage\": \"https://wiki.mozilla.org/Firefox/Recipe_Server\", \"size\": 5162, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 32, + "fields": { + "pub_date": "2021-01-09T17:46:01.965Z", + "modified_date": "2021-01-09T17:46:01.975Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "online-resume", + "full_name": "saadmk11/online-resume", + "description": "Online Resume (Publish your Resume Online)", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/online-resume.git", + "clone_url": "https://github.com/saadmk11/online-resume.git", + "html_url": "https://github.com/saadmk11/online-resume", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 102866499, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDI4NjY0OTk=\", \"name\": \"online-resume\", \"full_name\": \"saadmk11/online-resume\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/online-resume\", \"description\": \"Online Resume (Publish your Resume Online)\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/online-resume\", \"forks_url\": \"https://api.github.com/repos/saadmk11/online-resume/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/online-resume/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/online-resume/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/online-resume/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/online-resume/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/online-resume/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/online-resume/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/online-resume/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/online-resume/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/online-resume/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/online-resume/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/online-resume/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/online-resume/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/online-resume/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/online-resume/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/online-resume/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/online-resume/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/online-resume/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/online-resume/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/online-resume/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/online-resume/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/online-resume/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/online-resume/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/online-resume/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/online-resume/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/online-resume/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/online-resume/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/online-resume/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/online-resume/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/online-resume/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/online-resume/deployments\", \"created_at\": \"2017-09-08T13:51:03Z\", \"updated_at\": \"2020-08-13T10:36:42Z\", \"pushed_at\": \"2018-08-28T13:18:00Z\", \"git_url\": \"git://github.com/saadmk11/online-resume.git\", \"ssh_url\": \"git@github.com:saadmk11/online-resume.git\", \"clone_url\": \"https://github.com/saadmk11/online-resume.git\", \"svn_url\": \"https://github.com/saadmk11/online-resume\", \"homepage\": \"\", \"size\": 1348, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 3, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 33, + "fields": { + "pub_date": "2021-01-09T17:46:01.984Z", + "modified_date": "2021-01-09T17:46:01.994Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "pharmacy-management-system", + "full_name": "saadmk11/pharmacy-management-system", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/pharmacy-management-system.git", + "clone_url": "https://github.com/saadmk11/pharmacy-management-system.git", + "html_url": "https://github.com/saadmk11/pharmacy-management-system", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 324490359, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMjQ0OTAzNTk=\", \"name\": \"pharmacy-management-system\", \"full_name\": \"saadmk11/pharmacy-management-system\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/pharmacy-management-system\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system\", \"forks_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/deployments\", \"created_at\": \"2020-12-26T05:45:22Z\", \"updated_at\": \"2020-12-26T05:49:19Z\", \"pushed_at\": \"2020-12-26T05:49:17Z\", \"git_url\": \"git://github.com/saadmk11/pharmacy-management-system.git\", \"ssh_url\": \"git@github.com:saadmk11/pharmacy-management-system.git\", \"clone_url\": \"https://github.com/saadmk11/pharmacy-management-system.git\", \"svn_url\": \"https://github.com/saadmk11/pharmacy-management-system\", \"homepage\": null, \"size\": 28, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 34, + "fields": { + "pub_date": "2021-01-09T17:46:02.004Z", + "modified_date": "2021-01-09T17:46:02.015Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "photo_album_sharing", + "full_name": "saadmk11/photo_album_sharing", + "description": " Photo Album Sharing Service Django project.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/photo_album_sharing.git", + "clone_url": "https://github.com/saadmk11/photo_album_sharing.git", + "html_url": "https://github.com/saadmk11/photo_album_sharing", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 127180963, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjcxODA5NjM=\", \"name\": \"photo_album_sharing\", \"full_name\": \"saadmk11/photo_album_sharing\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/photo_album_sharing\", \"description\": \" Photo Album Sharing Service Django project.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing\", \"forks_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/deployments\", \"created_at\": \"2018-03-28T18:20:26Z\", \"updated_at\": \"2018-04-01T13:45:33Z\", \"pushed_at\": \"2018-03-31T18:16:33Z\", \"git_url\": \"git://github.com/saadmk11/photo_album_sharing.git\", \"ssh_url\": \"git@github.com:saadmk11/photo_album_sharing.git\", \"clone_url\": \"https://github.com/saadmk11/photo_album_sharing.git\", \"svn_url\": \"https://github.com/saadmk11/photo_album_sharing\", \"homepage\": \"http://saadmk11.pythonanywhere.com/\", \"size\": 514, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 35, + "fields": { + "pub_date": "2021-01-09T17:46:02.026Z", + "modified_date": "2021-01-09T17:46:02.037Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "product-search", + "full_name": "saadmk11/product-search", + "description": "Product Search With Django and Elastic Search", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/product-search.git", + "clone_url": "https://github.com/saadmk11/product-search.git", + "html_url": "https://github.com/saadmk11/product-search", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 176906721, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNzY5MDY3MjE=\", \"name\": \"product-search\", \"full_name\": \"saadmk11/product-search\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/product-search\", \"description\": \"Product Search With Django and Elastic Search\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/product-search\", \"forks_url\": \"https://api.github.com/repos/saadmk11/product-search/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/product-search/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/product-search/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/product-search/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/product-search/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/product-search/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/product-search/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/product-search/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/product-search/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/product-search/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/product-search/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/product-search/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/product-search/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/product-search/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/product-search/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/product-search/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/product-search/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/product-search/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/product-search/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/product-search/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/product-search/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/product-search/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/product-search/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/product-search/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/product-search/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/product-search/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/product-search/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/product-search/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/product-search/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/product-search/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/product-search/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/product-search/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/product-search/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/product-search/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/product-search/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/product-search/deployments\", \"created_at\": \"2019-03-21T08:57:00Z\", \"updated_at\": \"2019-10-22T11:51:39Z\", \"pushed_at\": \"2020-06-05T20:07:26Z\", \"git_url\": \"git://github.com/saadmk11/product-search.git\", \"ssh_url\": \"git@github.com:saadmk11/product-search.git\", \"clone_url\": \"https://github.com/saadmk11/product-search.git\", \"svn_url\": \"https://github.com/saadmk11/product-search\", \"homepage\": null, \"size\": 16, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": null, \"forks\": 0, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 36, + "fields": { + "pub_date": "2021-01-09T17:46:02.046Z", + "modified_date": "2021-01-09T17:46:02.056Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "python_firebase_url_shortener", + "full_name": "saadmk11/python_firebase_url_shortener", + "description": "This is a Python Client for Firebase Dynamic Links to Create Short URLs.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/python_firebase_url_shortener.git", + "clone_url": "https://github.com/saadmk11/python_firebase_url_shortener.git", + "html_url": "https://github.com/saadmk11/python_firebase_url_shortener", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 164023930, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjQwMjM5MzA=\", \"name\": \"python_firebase_url_shortener\", \"full_name\": \"saadmk11/python_firebase_url_shortener\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/python_firebase_url_shortener\", \"description\": \"This is a Python Client for Firebase Dynamic Links to Create Short URLs.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener\", \"forks_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/deployments\", \"created_at\": \"2019-01-03T21:18:35Z\", \"updated_at\": \"2020-08-13T10:37:24Z\", \"pushed_at\": \"2019-05-11T11:09:56Z\", \"git_url\": \"git://github.com/saadmk11/python_firebase_url_shortener.git\", \"ssh_url\": \"git@github.com:saadmk11/python_firebase_url_shortener.git\", \"clone_url\": \"https://github.com/saadmk11/python_firebase_url_shortener.git\", \"svn_url\": \"https://github.com/saadmk11/python_firebase_url_shortener\", \"homepage\": \"https://pypi.org/project/python-firebase-url-shortener/\", \"size\": 18, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 1, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 37, + "fields": { + "pub_date": "2021-01-09T17:46:02.066Z", + "modified_date": "2021-01-09T17:46:02.076Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "razorpay-python", + "full_name": "saadmk11/razorpay-python", + "description": "Razorpay Python SDK", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/razorpay-python.git", + "clone_url": "https://github.com/saadmk11/razorpay-python.git", + "html_url": "https://github.com/saadmk11/razorpay-python", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 188385295, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODgzODUyOTU=\", \"name\": \"razorpay-python\", \"full_name\": \"saadmk11/razorpay-python\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/razorpay-python\", \"description\": \"Razorpay Python SDK\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/razorpay-python\", \"forks_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/deployments\", \"created_at\": \"2019-05-24T08:38:01Z\", \"updated_at\": \"2020-09-19T06:28:21Z\", \"pushed_at\": \"2020-09-19T06:53:00Z\", \"git_url\": \"git://github.com/saadmk11/razorpay-python.git\", \"ssh_url\": \"git@github.com:saadmk11/razorpay-python.git\", \"clone_url\": \"https://github.com/saadmk11/razorpay-python.git\", \"svn_url\": \"https://github.com/saadmk11/razorpay-python\", \"homepage\": \"https://pypi.python.org/pypi/razorpay\", \"size\": 292, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 38, + "fields": { + "pub_date": "2021-01-09T17:46:02.086Z", + "modified_date": "2021-01-09T17:46:02.097Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "readthedocs-sphinx-ext", + "full_name": "saadmk11/readthedocs-sphinx-ext", + "description": "This holds code specific for Read the Docs and Sphinx", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/readthedocs-sphinx-ext.git", + "clone_url": "https://github.com/saadmk11/readthedocs-sphinx-ext.git", + "html_url": "https://github.com/saadmk11/readthedocs-sphinx-ext", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 196229207, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTYyMjkyMDc=\", \"name\": \"readthedocs-sphinx-ext\", \"full_name\": \"saadmk11/readthedocs-sphinx-ext\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/readthedocs-sphinx-ext\", \"description\": \"This holds code specific for Read the Docs and Sphinx\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext\", \"forks_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/deployments\", \"created_at\": \"2019-07-10T15:19:12Z\", \"updated_at\": \"2019-07-10T15:19:15Z\", \"pushed_at\": \"2019-07-11T15:42:17Z\", \"git_url\": \"git://github.com/saadmk11/readthedocs-sphinx-ext.git\", \"ssh_url\": \"git@github.com:saadmk11/readthedocs-sphinx-ext.git\", \"clone_url\": \"https://github.com/saadmk11/readthedocs-sphinx-ext.git\", \"svn_url\": \"https://github.com/saadmk11/readthedocs-sphinx-ext\", \"homepage\": \"\", \"size\": 248, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 39, + "fields": { + "pub_date": "2021-01-09T17:46:02.107Z", + "modified_date": "2021-01-09T17:46:02.118Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "readthedocs.org", + "full_name": "saadmk11/readthedocs.org", + "description": "The source code that powers readthedocs.org", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/readthedocs.org.git", + "clone_url": "https://github.com/saadmk11/readthedocs.org.git", + "html_url": "https://github.com/saadmk11/readthedocs.org", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 168940966, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjg5NDA5NjY=\", \"name\": \"readthedocs.org\", \"full_name\": \"saadmk11/readthedocs.org\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/readthedocs.org\", \"description\": \"The source code that powers readthedocs.org\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/readthedocs.org\", \"forks_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/deployments\", \"created_at\": \"2019-02-03T12:06:49Z\", \"updated_at\": \"2021-01-09T17:28:34Z\", \"pushed_at\": \"2021-01-09T17:28:24Z\", \"git_url\": \"git://github.com/saadmk11/readthedocs.org.git\", \"ssh_url\": \"git@github.com:saadmk11/readthedocs.org.git\", \"clone_url\": \"https://github.com/saadmk11/readthedocs.org.git\", \"svn_url\": \"https://github.com/saadmk11/readthedocs.org\", \"homepage\": \"https://readthedocs.org/\", \"size\": 69355, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 40, + "fields": { + "pub_date": "2021-01-09T17:46:02.128Z", + "modified_date": "2021-01-09T17:46:02.139Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "registration", + "full_name": "saadmk11/registration", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/registration.git", + "clone_url": "https://github.com/saadmk11/registration.git", + "html_url": "https://github.com/saadmk11/registration", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 77743808, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3Nzc0MzgwOA==\", \"name\": \"registration\", \"full_name\": \"saadmk11/registration\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/registration\", \"description\": null, \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/registration\", \"forks_url\": \"https://api.github.com/repos/saadmk11/registration/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/registration/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/registration/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/registration/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/registration/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/registration/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/registration/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/registration/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/registration/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/registration/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/registration/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/registration/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/registration/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/registration/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/registration/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/registration/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/registration/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/registration/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/registration/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/registration/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/registration/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/registration/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/registration/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/registration/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/registration/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/registration/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/registration/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/registration/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/registration/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/registration/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/registration/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/registration/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/registration/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/registration/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/registration/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/registration/deployments\", \"created_at\": \"2016-12-31T14:40:58Z\", \"updated_at\": \"2017-01-01T19:00:47Z\", \"pushed_at\": \"2017-01-02T18:55:47Z\", \"git_url\": \"git://github.com/saadmk11/registration.git\", \"ssh_url\": \"git@github.com:saadmk11/registration.git\", \"clone_url\": \"https://github.com/saadmk11/registration.git\", \"svn_url\": \"https://github.com/saadmk11/registration\", \"homepage\": null, \"size\": 1387, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"HTML\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 41, + "fields": { + "pub_date": "2021-01-09T17:46:02.149Z", + "modified_date": "2021-01-09T17:46:02.159Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "restapidocs", + "full_name": "saadmk11/restapidocs", + "description": "Templates for documenting REST APIs", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/restapidocs.git", + "clone_url": "https://github.com/saadmk11/restapidocs.git", + "html_url": "https://github.com/saadmk11/restapidocs", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 126014752, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjYwMTQ3NTI=\", \"name\": \"restapidocs\", \"full_name\": \"saadmk11/restapidocs\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/restapidocs\", \"description\": \"Templates for documenting REST APIs\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/restapidocs\", \"forks_url\": \"https://api.github.com/repos/saadmk11/restapidocs/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/restapidocs/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/restapidocs/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/restapidocs/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/restapidocs/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/restapidocs/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/restapidocs/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/restapidocs/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/restapidocs/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/restapidocs/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/restapidocs/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/restapidocs/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/restapidocs/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/restapidocs/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/restapidocs/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/restapidocs/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/restapidocs/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/restapidocs/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/restapidocs/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/restapidocs/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/restapidocs/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/restapidocs/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/restapidocs/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/restapidocs/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/restapidocs/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/restapidocs/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/restapidocs/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/restapidocs/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/restapidocs/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/restapidocs/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/restapidocs/deployments\", \"created_at\": \"2018-03-20T12:34:34Z\", \"updated_at\": \"2018-03-20T12:34:36Z\", \"pushed_at\": \"2016-06-08T14:53:40Z\", \"git_url\": \"git://github.com/saadmk11/restapidocs.git\", \"ssh_url\": \"git@github.com:saadmk11/restapidocs.git\", \"clone_url\": \"https://github.com/saadmk11/restapidocs.git\", \"svn_url\": \"https://github.com/saadmk11/restapidocs\", \"homepage\": \"\", \"size\": 13, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"unlicense\", \"name\": \"The Unlicense\", \"spdx_id\": \"Unlicense\", \"url\": \"https://api.github.com/licenses/unlicense\", \"node_id\": \"MDc6TGljZW5zZTE1\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 42, + "fields": { + "pub_date": "2021-01-09T17:46:02.168Z", + "modified_date": "2021-01-09T17:46:02.175Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "Restaurant-Website", + "full_name": "saadmk11/Restaurant-Website", + "description": "This is a Restaurant Website Github Repository.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/Restaurant-Website.git", + "clone_url": "https://github.com/saadmk11/Restaurant-Website.git", + "html_url": "https://github.com/saadmk11/Restaurant-Website", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 96550504, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5NjU1MDUwNA==\", \"name\": \"Restaurant-Website\", \"full_name\": \"saadmk11/Restaurant-Website\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/Restaurant-Website\", \"description\": \"This is a Restaurant Website Github Repository.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website\", \"forks_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/deployments\", \"created_at\": \"2017-07-07T15:12:58Z\", \"updated_at\": \"2020-09-17T06:04:32Z\", \"pushed_at\": \"2017-12-18T18:16:26Z\", \"git_url\": \"git://github.com/saadmk11/Restaurant-Website.git\", \"ssh_url\": \"git@github.com:saadmk11/Restaurant-Website.git\", \"clone_url\": \"https://github.com/saadmk11/Restaurant-Website.git\", \"svn_url\": \"https://github.com/saadmk11/Restaurant-Website\", \"homepage\": \"\", \"size\": 1260, \"stargazers_count\": 4, \"watchers_count\": 4, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 5, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 5, \"open_issues\": 0, \"watchers\": 4, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 43, + "fields": { + "pub_date": "2021-01-09T17:46:02.180Z", + "modified_date": "2021-01-09T17:46:02.184Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "resume-website", + "full_name": "saadmk11/resume-website", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/resume-website.git", + "clone_url": "https://github.com/saadmk11/resume-website.git", + "html_url": "https://github.com/saadmk11/resume-website", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 90979465, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5MDk3OTQ2NQ==\", \"name\": \"resume-website\", \"full_name\": \"saadmk11/resume-website\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/resume-website\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/resume-website\", \"forks_url\": \"https://api.github.com/repos/saadmk11/resume-website/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/resume-website/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/resume-website/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/resume-website/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/resume-website/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/resume-website/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/resume-website/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/resume-website/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/resume-website/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/resume-website/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/resume-website/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/resume-website/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/resume-website/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/resume-website/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/resume-website/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/resume-website/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/resume-website/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/resume-website/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/resume-website/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/resume-website/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/resume-website/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/resume-website/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/resume-website/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/resume-website/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/resume-website/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/resume-website/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/resume-website/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/resume-website/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/resume-website/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/resume-website/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/resume-website/deployments\", \"created_at\": \"2017-05-11T12:59:04Z\", \"updated_at\": \"2017-05-11T13:13:00Z\", \"pushed_at\": \"2020-10-17T04:02:26Z\", \"git_url\": \"git://github.com/saadmk11/resume-website.git\", \"ssh_url\": \"git@github.com:saadmk11/resume-website.git\", \"clone_url\": \"https://github.com/saadmk11/resume-website.git\", \"svn_url\": \"https://github.com/saadmk11/resume-website\", \"homepage\": null, \"size\": 1237, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 4, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 4, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 44, + "fields": { + "pub_date": "2021-01-09T17:46:02.188Z", + "modified_date": "2021-01-09T17:46:02.193Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "rtd-test", + "full_name": "saadmk11/rtd-test", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/rtd-test.git", + "clone_url": "https://github.com/saadmk11/rtd-test.git", + "html_url": "https://github.com/saadmk11/rtd-test", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 203859543, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDM4NTk1NDM=\", \"name\": \"rtd-test\", \"full_name\": \"saadmk11/rtd-test\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/rtd-test\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/rtd-test\", \"forks_url\": \"https://api.github.com/repos/saadmk11/rtd-test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/rtd-test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/rtd-test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/rtd-test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/rtd-test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/rtd-test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/rtd-test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/rtd-test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/rtd-test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/rtd-test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/rtd-test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/rtd-test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/rtd-test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/rtd-test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/rtd-test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/rtd-test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/rtd-test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/rtd-test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/rtd-test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/rtd-test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/rtd-test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/rtd-test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/rtd-test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/rtd-test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/rtd-test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/rtd-test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/rtd-test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/rtd-test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/rtd-test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/rtd-test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/rtd-test/deployments\", \"created_at\": \"2019-08-22T19:27:25Z\", \"updated_at\": \"2019-08-22T19:45:32Z\", \"pushed_at\": \"2021-01-07T23:05:10Z\", \"git_url\": \"git://github.com/saadmk11/rtd-test.git\", \"ssh_url\": \"git@github.com:saadmk11/rtd-test.git\", \"clone_url\": \"https://github.com/saadmk11/rtd-test.git\", \"svn_url\": \"https://github.com/saadmk11/rtd-test\", \"homepage\": null, \"size\": 9819, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 45, + "fields": { + "pub_date": "2021-01-09T17:46:02.196Z", + "modified_date": "2021-01-09T17:46:02.200Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "saadmk11.github.io", + "full_name": "saadmk11/saadmk11.github.io", + "description": "https://saadmk11.github.io/", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/saadmk11.github.io.git", + "clone_url": "https://github.com/saadmk11/saadmk11.github.io.git", + "html_url": "https://github.com/saadmk11/saadmk11.github.io", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 281395464, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyODEzOTU0NjQ=\", \"name\": \"saadmk11.github.io\", \"full_name\": \"saadmk11/saadmk11.github.io\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/saadmk11.github.io\", \"description\": \"https://saadmk11.github.io/\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io\", \"forks_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/deployments\", \"created_at\": \"2020-07-21T12:44:59Z\", \"updated_at\": \"2021-01-09T06:19:35Z\", \"pushed_at\": \"2021-01-09T06:19:33Z\", \"git_url\": \"git://github.com/saadmk11/saadmk11.github.io.git\", \"ssh_url\": \"git@github.com:saadmk11/saadmk11.github.io.git\", \"clone_url\": \"https://github.com/saadmk11/saadmk11.github.io.git\", \"svn_url\": \"https://github.com/saadmk11/saadmk11.github.io\", \"homepage\": \"\", \"size\": 124, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"HTML\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 46, + "fields": { + "pub_date": "2021-01-09T17:46:02.203Z", + "modified_date": "2021-01-09T17:46:02.207Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "sendotp-python", + "full_name": "saadmk11/sendotp-python", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/sendotp-python.git", + "clone_url": "https://github.com/saadmk11/sendotp-python.git", + "html_url": "https://github.com/saadmk11/sendotp-python", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 154348043, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTQzNDgwNDM=\", \"name\": \"sendotp-python\", \"full_name\": \"saadmk11/sendotp-python\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/sendotp-python\", \"description\": null, \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/sendotp-python\", \"forks_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/deployments\", \"created_at\": \"2018-10-23T15:01:02Z\", \"updated_at\": \"2018-10-23T15:06:15Z\", \"pushed_at\": \"2018-10-23T15:06:14Z\", \"git_url\": \"git://github.com/saadmk11/sendotp-python.git\", \"ssh_url\": \"git@github.com:saadmk11/sendotp-python.git\", \"clone_url\": \"https://github.com/saadmk11/sendotp-python.git\", \"svn_url\": \"https://github.com/saadmk11/sendotp-python\", \"homepage\": null, \"size\": 7, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 47, + "fields": { + "pub_date": "2021-01-09T17:46:02.210Z", + "modified_date": "2021-01-09T17:46:02.214Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "store-password", + "full_name": "saadmk11/store-password", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/store-password.git", + "clone_url": "https://github.com/saadmk11/store-password.git", + "html_url": "https://github.com/saadmk11/store-password", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 90663982, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5MDY2Mzk4Mg==\", \"name\": \"store-password\", \"full_name\": \"saadmk11/store-password\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/store-password\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/store-password\", \"forks_url\": \"https://api.github.com/repos/saadmk11/store-password/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/store-password/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/store-password/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/store-password/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/store-password/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/store-password/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/store-password/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/store-password/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/store-password/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/store-password/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/store-password/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/store-password/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/store-password/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/store-password/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/store-password/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/store-password/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/store-password/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/store-password/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/store-password/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/store-password/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/store-password/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/store-password/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/store-password/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/store-password/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/store-password/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/store-password/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/store-password/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/store-password/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/store-password/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/store-password/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/store-password/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/store-password/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/store-password/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/store-password/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/store-password/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/store-password/deployments\", \"created_at\": \"2017-05-08T19:17:27Z\", \"updated_at\": \"2017-05-08T19:19:43Z\", \"pushed_at\": \"2017-05-11T12:09:36Z\", \"git_url\": \"git://github.com/saadmk11/store-password.git\", \"ssh_url\": \"git@github.com:saadmk11/store-password.git\", \"clone_url\": \"https://github.com/saadmk11/store-password.git\", \"svn_url\": \"https://github.com/saadmk11/store-password\", \"homepage\": null, \"size\": 12, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 48, + "fields": { + "pub_date": "2021-01-09T17:46:02.217Z", + "modified_date": "2021-01-09T17:46:02.220Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "template", + "full_name": "saadmk11/template", + "description": "A template Sphinx repo", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/template.git", + "clone_url": "https://github.com/saadmk11/template.git", + "html_url": "https://github.com/saadmk11/template", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 190923814, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTA5MjM4MTQ=\", \"name\": \"template\", \"full_name\": \"saadmk11/template\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/template\", \"description\": \"A template Sphinx repo\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/template\", \"forks_url\": \"https://api.github.com/repos/saadmk11/template/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/template/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/template/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/template/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/template/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/template/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/template/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/template/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/template/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/template/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/template/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/template/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/template/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/template/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/template/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/template/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/template/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/template/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/template/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/template/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/template/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/template/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/template/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/template/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/template/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/template/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/template/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/template/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/template/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/template/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/template/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/template/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/template/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/template/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/template/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/template/deployments\", \"created_at\": \"2019-06-08T18:50:51Z\", \"updated_at\": \"2019-06-20T21:27:43Z\", \"pushed_at\": \"2019-07-19T13:11:56Z\", \"git_url\": \"git://github.com/saadmk11/template.git\", \"ssh_url\": \"git@github.com:saadmk11/template.git\", \"clone_url\": \"https://github.com/saadmk11/template.git\", \"svn_url\": \"https://github.com/saadmk11/template\", \"homepage\": null, \"size\": 14, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 49, + "fields": { + "pub_date": "2021-01-09T17:46:02.224Z", + "modified_date": "2021-01-09T17:46:02.228Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "test", + "full_name": "saadmk11/test", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/test.git", + "clone_url": "https://github.com/saadmk11/test.git", + "html_url": "https://github.com/saadmk11/test", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 180540525, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODA1NDA1MjU=\", \"name\": \"test\", \"full_name\": \"saadmk11/test\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test/deployments\", \"created_at\": \"2019-04-10T08:45:58Z\", \"updated_at\": \"2020-12-09T07:15:02Z\", \"pushed_at\": \"2020-12-09T07:18:23Z\", \"git_url\": \"git://github.com/saadmk11/test.git\", \"ssh_url\": \"git@github.com:saadmk11/test.git\", \"clone_url\": \"https://github.com/saadmk11/test.git\", \"svn_url\": \"https://github.com/saadmk11/test\", \"homepage\": null, \"size\": 142, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Shell\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 1, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 50, + "fields": { + "pub_date": "2021-01-09T17:46:02.231Z", + "modified_date": "2021-01-09T17:46:02.235Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "test-django-newsfeed", + "full_name": "saadmk11/test-django-newsfeed", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/test-django-newsfeed.git", + "clone_url": "https://github.com/saadmk11/test-django-newsfeed.git", + "html_url": "https://github.com/saadmk11/test-django-newsfeed", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 290439817, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTA0Mzk4MTc=\", \"name\": \"test-django-newsfeed\", \"full_name\": \"saadmk11/test-django-newsfeed\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test-django-newsfeed\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/deployments\", \"created_at\": \"2020-08-26T08:26:22Z\", \"updated_at\": \"2021-01-05T06:11:12Z\", \"pushed_at\": \"2021-01-05T07:10:15Z\", \"git_url\": \"git://github.com/saadmk11/test-django-newsfeed.git\", \"ssh_url\": \"git@github.com:saadmk11/test-django-newsfeed.git\", \"clone_url\": \"https://github.com/saadmk11/test-django-newsfeed.git\", \"svn_url\": \"https://github.com/saadmk11/test-django-newsfeed\", \"homepage\": null, \"size\": 8363, \"stargazers_count\": 5, \"watchers_count\": 5, \"language\": \"HTML\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": null, \"forks\": 1, \"open_issues\": 1, \"watchers\": 5, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 51, + "fields": { + "pub_date": "2021-01-09T17:46:02.238Z", + "modified_date": "2021-01-09T17:46:02.241Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "test-docker", + "full_name": "saadmk11/test-docker", + "description": "Test Repo For Django & Docker", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/test-docker.git", + "clone_url": "https://github.com/saadmk11/test-docker.git", + "html_url": "https://github.com/saadmk11/test-docker", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 146567397, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDY1NjczOTc=\", \"name\": \"test-docker\", \"full_name\": \"saadmk11/test-docker\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test-docker\", \"description\": \"Test Repo For Django & Docker\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test-docker\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test-docker/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test-docker/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test-docker/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test-docker/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test-docker/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test-docker/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test-docker/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test-docker/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test-docker/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test-docker/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test-docker/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test-docker/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test-docker/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test-docker/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test-docker/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test-docker/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test-docker/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test-docker/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test-docker/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test-docker/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test-docker/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test-docker/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test-docker/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test-docker/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test-docker/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test-docker/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test-docker/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test-docker/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test-docker/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test-docker/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test-docker/deployments\", \"created_at\": \"2018-08-29T08:12:22Z\", \"updated_at\": \"2018-09-03T19:16:43Z\", \"pushed_at\": \"2018-09-03T19:16:42Z\", \"git_url\": \"git://github.com/saadmk11/test-docker.git\", \"ssh_url\": \"git@github.com:saadmk11/test-docker.git\", \"clone_url\": \"https://github.com/saadmk11/test-docker.git\", \"svn_url\": \"https://github.com/saadmk11/test-docker\", \"homepage\": null, \"size\": 12, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 2, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 2, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 52, + "fields": { + "pub_date": "2021-01-09T17:46:02.244Z", + "modified_date": "2021-01-09T17:46:02.248Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "xhtml2pdf", + "full_name": "saadmk11/xhtml2pdf", + "description": "A library for converting HTML into PDFs using ReportLab", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/xhtml2pdf.git", + "clone_url": "https://github.com/saadmk11/xhtml2pdf.git", + "html_url": "https://github.com/saadmk11/xhtml2pdf", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 119902386, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTk5MDIzODY=\", \"name\": \"xhtml2pdf\", \"full_name\": \"saadmk11/xhtml2pdf\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/xhtml2pdf\", \"description\": \"A library for converting HTML into PDFs using ReportLab\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf\", \"forks_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/deployments\", \"created_at\": \"2018-02-01T22:39:43Z\", \"updated_at\": \"2018-02-01T22:39:45Z\", \"pushed_at\": \"2018-02-01T16:52:30Z\", \"git_url\": \"git://github.com/saadmk11/xhtml2pdf.git\", \"ssh_url\": \"git@github.com:saadmk11/xhtml2pdf.git\", \"clone_url\": \"https://github.com/saadmk11/xhtml2pdf.git\", \"svn_url\": \"https://github.com/saadmk11/xhtml2pdf\", \"homepage\": \"\", \"size\": 9420, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"apache-2.0\", \"name\": \"Apache License 2.0\", \"spdx_id\": \"Apache-2.0\", \"url\": \"https://api.github.com/licenses/apache-2.0\", \"node_id\": \"MDc6TGljZW5zZTI=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 53, + "fields": { + "pub_date": "2021-01-09T17:46:02.251Z", + "modified_date": "2021-01-09T17:46:02.255Z", + "account": 1, + "organization": null, + "active": false, + "project": null, + "name": "your-query", + "full_name": "saadmk11/your-query", + "description": "This is a Question Answer Website. Users Can Ask & Answer Questions.", + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/your-query.git", + "clone_url": "https://github.com/saadmk11/your-query.git", + "html_url": "https://github.com/saadmk11/your-query", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 98430043, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5ODQzMDA0Mw==\", \"name\": \"your-query\", \"full_name\": \"saadmk11/your-query\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/your-query\", \"description\": \"This is a Question Answer Website. Users Can Ask & Answer Questions.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/your-query\", \"forks_url\": \"https://api.github.com/repos/saadmk11/your-query/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/your-query/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/your-query/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/your-query/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/your-query/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/your-query/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/your-query/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/your-query/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/your-query/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/your-query/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/your-query/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/your-query/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/your-query/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/your-query/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/your-query/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/your-query/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/your-query/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/your-query/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/your-query/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/your-query/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/your-query/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/your-query/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/your-query/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/your-query/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/your-query/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/your-query/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/your-query/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/your-query/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/your-query/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/your-query/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/your-query/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/your-query/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/your-query/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/your-query/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/your-query/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/your-query/deployments\", \"created_at\": \"2017-07-26T14:08:48Z\", \"updated_at\": \"2020-10-10T12:49:32Z\", \"pushed_at\": \"2017-08-23T13:11:45Z\", \"git_url\": \"git://github.com/saadmk11/your-query.git\", \"ssh_url\": \"git@github.com:saadmk11/your-query.git\", \"clone_url\": \"https://github.com/saadmk11/your-query.git\", \"svn_url\": \"https://github.com/saadmk11/your-query\", \"homepage\": \"https://yourquery.herokuapp.com/\", \"size\": 1237, \"stargazers_count\": 7, \"watchers_count\": 7, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 8, \"open_issues\": 0, \"watchers\": 7, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 54, + "fields": { + "pub_date": "2021-01-09T17:46:04.431Z", + "modified_date": "2021-01-09T17:46:04.437Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "readthedocs-sphinx-ext", + "full_name": "readthedocs/readthedocs-sphinx-ext", + "description": "This holds code specific for Read the Docs and Sphinx", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/readthedocs-sphinx-ext.git", + "clone_url": "https://github.com/readthedocs/readthedocs-sphinx-ext.git", + "html_url": "https://github.com/readthedocs/readthedocs-sphinx-ext", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 12553186, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjU1MzE4Ng==\", \"name\": \"readthedocs-sphinx-ext\", \"full_name\": \"readthedocs/readthedocs-sphinx-ext\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-sphinx-ext\", \"description\": \"This holds code specific for Read the Docs and Sphinx\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/deployments\", \"created_at\": \"2013-09-03T02:23:23Z\", \"updated_at\": \"2021-01-05T23:54:15Z\", \"pushed_at\": \"2021-01-05T23:54:54Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-sphinx-ext.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-sphinx-ext.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-sphinx-ext.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-sphinx-ext\", \"homepage\": \"\", \"size\": 279, \"stargazers_count\": 14, \"watchers_count\": 14, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 20, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 20, \"open_issues\": 1, \"watchers\": 14, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 55, + "fields": { + "pub_date": "2021-01-09T17:46:04.443Z", + "modified_date": "2021-01-09T17:46:04.449Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "sphinx_rtd_theme", + "full_name": "readthedocs/sphinx_rtd_theme", + "description": "Sphinx theme for readthedocs.org", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/sphinx_rtd_theme.git", + "clone_url": "https://github.com/readthedocs/sphinx_rtd_theme.git", + "html_url": "https://github.com/readthedocs/sphinx_rtd_theme", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 13655592, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMzY1NTU5Mg==\", \"name\": \"sphinx_rtd_theme\", \"full_name\": \"readthedocs/sphinx_rtd_theme\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx_rtd_theme\", \"description\": \"Sphinx theme for readthedocs.org\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/deployments\", \"created_at\": \"2013-10-17T17:10:49Z\", \"updated_at\": \"2021-01-09T03:08:24Z\", \"pushed_at\": \"2021-01-04T22:14:36Z\", \"git_url\": \"git://github.com/readthedocs/sphinx_rtd_theme.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx_rtd_theme.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx_rtd_theme.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx_rtd_theme\", \"homepage\": \"https://sphinx-rtd-theme.readthedocs.io/\", \"size\": 11903, \"stargazers_count\": 3578, \"watchers_count\": 3578, \"language\": \"Sass\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1476, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 157, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 1476, \"open_issues\": 157, \"watchers\": 3578, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 56, + "fields": { + "pub_date": "2021-01-09T17:46:04.455Z", + "modified_date": "2021-01-09T17:46:04.462Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "blog", + "full_name": "readthedocs/blog", + "description": "Read the Docs blog", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/blog.git", + "clone_url": "https://github.com/readthedocs/blog.git", + "html_url": "https://github.com/readthedocs/blog", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 22479985, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMjQ3OTk4NQ==\", \"name\": \"blog\", \"full_name\": \"readthedocs/blog\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/blog\", \"description\": \"Read the Docs blog\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/blog\", \"forks_url\": \"https://api.github.com/repos/readthedocs/blog/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/blog/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/blog/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/blog/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/blog/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/blog/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/blog/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/blog/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/blog/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/blog/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/blog/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/blog/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/blog/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/blog/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/blog/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/blog/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/blog/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/blog/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/blog/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/blog/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/blog/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/blog/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/blog/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/blog/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/blog/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/blog/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/blog/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/blog/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/blog/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/blog/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/blog/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/blog/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/blog/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/blog/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/blog/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/blog/deployments\", \"created_at\": \"2014-07-31T18:21:48Z\", \"updated_at\": \"2020-12-18T09:16:20Z\", \"pushed_at\": \"2021-01-07T22:26:33Z\", \"git_url\": \"git://github.com/readthedocs/blog.git\", \"ssh_url\": \"git@github.com:readthedocs/blog.git\", \"clone_url\": \"https://github.com/readthedocs/blog.git\", \"svn_url\": \"https://github.com/readthedocs/blog\", \"homepage\": \"https://blog.readthedocs.com\", \"size\": 14810, \"stargazers_count\": 9, \"watchers_count\": 9, \"language\": \"CSS\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 24, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 6, \"license\": null, \"forks\": 24, \"open_issues\": 6, \"watchers\": 9, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 57, + "fields": { + "pub_date": "2021-01-09T17:46:04.467Z", + "modified_date": "2021-01-09T17:46:04.473Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "validatehttp", + "full_name": "readthedocs/validatehttp", + "description": "HTTP response validation application", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/validatehttp.git", + "clone_url": "https://github.com/readthedocs/validatehttp.git", + "html_url": "https://github.com/readthedocs/validatehttp", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 22742752, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMjc0Mjc1Mg==\", \"name\": \"validatehttp\", \"full_name\": \"readthedocs/validatehttp\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/validatehttp\", \"description\": \"HTTP response validation application\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/validatehttp\", \"forks_url\": \"https://api.github.com/repos/readthedocs/validatehttp/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/validatehttp/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/validatehttp/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/validatehttp/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/validatehttp/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/validatehttp/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/validatehttp/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/validatehttp/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/validatehttp/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/validatehttp/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/validatehttp/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/validatehttp/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/validatehttp/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/validatehttp/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/validatehttp/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/validatehttp/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/validatehttp/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/validatehttp/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/validatehttp/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/validatehttp/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/validatehttp/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/validatehttp/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/validatehttp/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/validatehttp/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/validatehttp/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/validatehttp/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/validatehttp/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/validatehttp/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/validatehttp/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/validatehttp/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/validatehttp/deployments\", \"created_at\": \"2014-08-08T02:02:43Z\", \"updated_at\": \"2019-06-12T20:59:59Z\", \"pushed_at\": \"2019-06-12T20:57:55Z\", \"git_url\": \"git://github.com/readthedocs/validatehttp.git\", \"ssh_url\": \"git@github.com:readthedocs/validatehttp.git\", \"clone_url\": \"https://github.com/readthedocs/validatehttp.git\", \"svn_url\": \"https://github.com/readthedocs/validatehttp\", \"homepage\": \"\", \"size\": 36, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": null, \"forks\": 1, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 58, + "fields": { + "pub_date": "2021-01-09T17:46:04.479Z", + "modified_date": "2021-01-09T17:46:04.485Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "template", + "full_name": "readthedocs/template", + "description": "A template Sphinx repo", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/template.git", + "clone_url": "https://github.com/readthedocs/template.git", + "html_url": "https://github.com/readthedocs/template", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 23367217, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzM2NzIxNw==\", \"name\": \"template\", \"full_name\": \"readthedocs/template\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/template\", \"description\": \"A template Sphinx repo\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/template\", \"forks_url\": \"https://api.github.com/repos/readthedocs/template/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/template/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/template/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/template/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/template/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/template/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/template/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/template/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/template/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/template/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/template/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/template/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/template/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/template/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/template/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/template/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/template/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/template/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/template/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/template/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/template/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/template/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/template/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/template/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/template/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/template/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/template/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/template/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/template/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/template/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/template/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/template/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/template/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/template/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/template/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/template/deployments\", \"created_at\": \"2014-08-26T21:21:10Z\", \"updated_at\": \"2021-01-07T18:50:45Z\", \"pushed_at\": \"2021-01-07T21:57:25Z\", \"git_url\": \"git://github.com/readthedocs/template.git\", \"ssh_url\": \"git@github.com:readthedocs/template.git\", \"clone_url\": \"https://github.com/readthedocs/template.git\", \"svn_url\": \"https://github.com/readthedocs/template\", \"homepage\": null, \"size\": 9, \"stargazers_count\": 89, \"watchers_count\": 89, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 1114, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 11, \"license\": null, \"forks\": 1114, \"open_issues\": 11, \"watchers\": 89, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 59, + "fields": { + "pub_date": "2021-01-09T17:46:04.490Z", + "modified_date": "2021-01-09T17:46:04.497Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "commonmark.py", + "full_name": "readthedocs/commonmark.py", + "description": "Python CommonMark parser", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/commonmark.py.git", + "clone_url": "https://github.com/readthedocs/commonmark.py.git", + "html_url": "https://github.com/readthedocs/commonmark.py", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 24361415, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNDM2MTQxNQ==\", \"name\": \"commonmark.py\", \"full_name\": \"readthedocs/commonmark.py\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/commonmark.py\", \"description\": \"Python CommonMark parser\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/commonmark.py\", \"forks_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/deployments\", \"created_at\": \"2014-09-23T07:35:18Z\", \"updated_at\": \"2021-01-02T14:44:30Z\", \"pushed_at\": \"2020-10-05T13:14:10Z\", \"git_url\": \"git://github.com/readthedocs/commonmark.py.git\", \"ssh_url\": \"git@github.com:readthedocs/commonmark.py.git\", \"clone_url\": \"https://github.com/readthedocs/commonmark.py.git\", \"svn_url\": \"https://github.com/readthedocs/commonmark.py\", \"homepage\": \"https://commonmarkpy.readthedocs.io/en/latest/\", \"size\": 770, \"stargazers_count\": 205, \"watchers_count\": 205, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 54, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 18, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 54, \"open_issues\": 18, \"watchers\": 205, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 60, + "fields": { + "pub_date": "2021-01-09T17:46:04.503Z", + "modified_date": "2021-01-09T17:46:04.509Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "guidelines", + "full_name": "readthedocs/guidelines", + "description": "Style, brand, and development guidelines", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/guidelines.git", + "clone_url": "https://github.com/readthedocs/guidelines.git", + "html_url": "https://github.com/readthedocs/guidelines", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 27064825, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzA2NDgyNQ==\", \"name\": \"guidelines\", \"full_name\": \"readthedocs/guidelines\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/guidelines\", \"description\": \"Style, brand, and development guidelines\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/guidelines\", \"forks_url\": \"https://api.github.com/repos/readthedocs/guidelines/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/guidelines/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/guidelines/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/guidelines/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/guidelines/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/guidelines/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/guidelines/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/guidelines/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/guidelines/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/guidelines/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/guidelines/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/guidelines/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/guidelines/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/guidelines/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/guidelines/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/guidelines/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/guidelines/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/guidelines/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/guidelines/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/guidelines/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/guidelines/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/guidelines/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/guidelines/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/guidelines/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/guidelines/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/guidelines/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/guidelines/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/guidelines/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/guidelines/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/guidelines/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/guidelines/deployments\", \"created_at\": \"2014-11-24T07:04:16Z\", \"updated_at\": \"2020-05-17T01:45:30Z\", \"pushed_at\": \"2018-03-16T08:23:53Z\", \"git_url\": \"git://github.com/readthedocs/guidelines.git\", \"ssh_url\": \"git@github.com:readthedocs/guidelines.git\", \"clone_url\": \"https://github.com/readthedocs/guidelines.git\", \"svn_url\": \"https://github.com/readthedocs/guidelines\", \"homepage\": null, \"size\": 151, \"stargazers_count\": 6, \"watchers_count\": 6, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 6, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 6, \"open_issues\": 0, \"watchers\": 6, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 61, + "fields": { + "pub_date": "2021-01-09T17:46:04.517Z", + "modified_date": "2021-01-09T17:46:04.528Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "bot", + "full_name": "readthedocs/bot", + "description": "Bot for Read the Docs monitoring", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/bot.git", + "clone_url": "https://github.com/readthedocs/bot.git", + "html_url": "https://github.com/readthedocs/bot", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 29337520, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTMzNzUyMA==\", \"name\": \"bot\", \"full_name\": \"readthedocs/bot\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/bot\", \"description\": \"Bot for Read the Docs monitoring\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/bot\", \"forks_url\": \"https://api.github.com/repos/readthedocs/bot/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/bot/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/bot/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/bot/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/bot/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/bot/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/bot/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/bot/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/bot/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/bot/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/bot/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/bot/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/bot/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/bot/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/bot/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/bot/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/bot/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/bot/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/bot/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/bot/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/bot/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/bot/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/bot/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/bot/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/bot/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/bot/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/bot/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/bot/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/bot/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/bot/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/bot/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/bot/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/bot/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/bot/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/bot/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/bot/deployments\", \"created_at\": \"2015-01-16T07:23:33Z\", \"updated_at\": \"2019-10-25T16:26:01Z\", \"pushed_at\": \"2018-09-06T01:30:42Z\", \"git_url\": \"git://github.com/readthedocs/bot.git\", \"ssh_url\": \"git@github.com:readthedocs/bot.git\", \"clone_url\": \"https://github.com/readthedocs/bot.git\", \"svn_url\": \"https://github.com/readthedocs/bot\", \"homepage\": null, \"size\": 37, \"stargazers_count\": 2, \"watchers_count\": 2, \"language\": \"CoffeeScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 3, \"open_issues\": 0, \"watchers\": 2, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 62, + "fields": { + "pub_date": "2021-01-09T17:46:04.537Z", + "modified_date": "2021-01-09T17:46:04.548Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "livesphinx", + "full_name": "readthedocs/livesphinx", + "description": "A fork of rst.ninjs.org to support Sphinx", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/livesphinx.git", + "clone_url": "https://github.com/readthedocs/livesphinx.git", + "html_url": "https://github.com/readthedocs/livesphinx", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "livesphinx", + "json": "{\"id\": 30392083, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMDM5MjA4Mw==\", \"name\": \"livesphinx\", \"full_name\": \"readthedocs/livesphinx\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/livesphinx\", \"description\": \"A fork of rst.ninjs.org to support Sphinx\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/livesphinx\", \"forks_url\": \"https://api.github.com/repos/readthedocs/livesphinx/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/livesphinx/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/livesphinx/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/livesphinx/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/livesphinx/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/livesphinx/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/livesphinx/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/livesphinx/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/livesphinx/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/livesphinx/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/livesphinx/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/livesphinx/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/livesphinx/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/livesphinx/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/livesphinx/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/livesphinx/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/livesphinx/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/livesphinx/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/livesphinx/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/livesphinx/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/livesphinx/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/livesphinx/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/livesphinx/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/livesphinx/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/livesphinx/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/livesphinx/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/livesphinx/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/livesphinx/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/livesphinx/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/livesphinx/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/livesphinx/deployments\", \"created_at\": \"2015-02-06T03:03:29Z\", \"updated_at\": \"2020-09-24T20:24:39Z\", \"pushed_at\": \"2015-06-19T20:46:06Z\", \"git_url\": \"git://github.com/readthedocs/livesphinx.git\", \"ssh_url\": \"git@github.com:readthedocs/livesphinx.git\", \"clone_url\": \"https://github.com/readthedocs/livesphinx.git\", \"svn_url\": \"https://github.com/readthedocs/livesphinx\", \"homepage\": null, \"size\": 393, \"stargazers_count\": 8, \"watchers_count\": 8, \"language\": \"CSS\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 8, \"open_issues\": 1, \"watchers\": 8, \"default_branch\": \"livesphinx\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 63, + "fields": { + "pub_date": "2021-01-09T17:46:04.558Z", + "modified_date": "2021-01-09T17:46:04.569Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "readthedocs-build", + "full_name": "readthedocs/readthedocs-build", + "description": "Work in Progress builder", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/readthedocs-build.git", + "clone_url": "https://github.com/readthedocs/readthedocs-build.git", + "html_url": "https://github.com/readthedocs/readthedocs-build", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 32140406, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMjE0MDQwNg==\", \"name\": \"readthedocs-build\", \"full_name\": \"readthedocs/readthedocs-build\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-build\", \"description\": \"Work in Progress builder\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-build\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/deployments\", \"created_at\": \"2015-03-13T07:49:29Z\", \"updated_at\": \"2019-04-04T18:52:20Z\", \"pushed_at\": \"2019-07-17T00:44:26Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-build.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-build.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-build.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-build\", \"homepage\": null, \"size\": 479, \"stargazers_count\": 16, \"watchers_count\": 16, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 19, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 8, \"license\": null, \"forks\": 19, \"open_issues\": 8, \"watchers\": 16, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 64, + "fields": { + "pub_date": "2021-01-09T17:46:04.579Z", + "modified_date": "2021-01-09T17:46:04.590Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "sphinx-autoapi", + "full_name": "readthedocs/sphinx-autoapi", + "description": "A new approach to API documentation in Sphinx.", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/sphinx-autoapi.git", + "clone_url": "https://github.com/readthedocs/sphinx-autoapi.git", + "html_url": "https://github.com/readthedocs/sphinx-autoapi", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 36524868, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzNjUyNDg2OA==\", \"name\": \"sphinx-autoapi\", \"full_name\": \"readthedocs/sphinx-autoapi\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx-autoapi\", \"description\": \"A new approach to API documentation in Sphinx.\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/deployments\", \"created_at\": \"2015-05-29T19:32:28Z\", \"updated_at\": \"2021-01-06T08:56:51Z\", \"pushed_at\": \"2020-11-14T06:51:04Z\", \"git_url\": \"git://github.com/readthedocs/sphinx-autoapi.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx-autoapi.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx-autoapi.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx-autoapi\", \"homepage\": \"https://sphinx-autoapi.readthedocs.io/\", \"size\": 4012, \"stargazers_count\": 206, \"watchers_count\": 206, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 56, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 27, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 56, \"open_issues\": 27, \"watchers\": 206, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 65, + "fields": { + "pub_date": "2021-01-09T17:46:04.600Z", + "modified_date": "2021-01-09T17:46:04.610Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "godocjson", + "full_name": "readthedocs/godocjson", + "description": "Generate json from go.", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/godocjson.git", + "clone_url": "https://github.com/readthedocs/godocjson.git", + "html_url": "https://github.com/readthedocs/godocjson", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 36526217, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzNjUyNjIxNw==\", \"name\": \"godocjson\", \"full_name\": \"readthedocs/godocjson\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/godocjson\", \"description\": \"Generate json from go.\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/godocjson\", \"forks_url\": \"https://api.github.com/repos/readthedocs/godocjson/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/godocjson/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/godocjson/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/godocjson/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/godocjson/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/godocjson/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/godocjson/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/godocjson/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/godocjson/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/godocjson/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/godocjson/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/godocjson/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/godocjson/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/godocjson/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/godocjson/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/godocjson/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/godocjson/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/godocjson/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/godocjson/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/godocjson/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/godocjson/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/godocjson/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/godocjson/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/godocjson/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/godocjson/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/godocjson/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/godocjson/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/godocjson/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/godocjson/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/godocjson/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/godocjson/deployments\", \"created_at\": \"2015-05-29T20:02:25Z\", \"updated_at\": \"2020-10-24T14:52:30Z\", \"pushed_at\": \"2019-09-30T14:26:08Z\", \"git_url\": \"git://github.com/readthedocs/godocjson.git\", \"ssh_url\": \"git@github.com:readthedocs/godocjson.git\", \"clone_url\": \"https://github.com/readthedocs/godocjson.git\", \"svn_url\": \"https://github.com/readthedocs/godocjson\", \"homepage\": null, \"size\": 34, \"stargazers_count\": 9, \"watchers_count\": 9, \"language\": \"Go\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 13, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 13, \"open_issues\": 0, \"watchers\": 9, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 66, + "fields": { + "pub_date": "2021-01-09T17:46:04.620Z", + "modified_date": "2021-01-09T17:46:04.630Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "sphinxcontrib-dotnetdomain", + "full_name": "readthedocs/sphinxcontrib-dotnetdomain", + "description": "A Sphinx domain for .NET languages", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/sphinxcontrib-dotnetdomain.git", + "clone_url": "https://github.com/readthedocs/sphinxcontrib-dotnetdomain.git", + "html_url": "https://github.com/readthedocs/sphinxcontrib-dotnetdomain", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 37870289, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzNzg3MDI4OQ==\", \"name\": \"sphinxcontrib-dotnetdomain\", \"full_name\": \"readthedocs/sphinxcontrib-dotnetdomain\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinxcontrib-dotnetdomain\", \"description\": \"A Sphinx domain for .NET languages\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/deployments\", \"created_at\": \"2015-06-22T17:36:29Z\", \"updated_at\": \"2019-11-26T07:06:19Z\", \"pushed_at\": \"2020-11-25T05:01:10Z\", \"git_url\": \"git://github.com/readthedocs/sphinxcontrib-dotnetdomain.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinxcontrib-dotnetdomain.git\", \"clone_url\": \"https://github.com/readthedocs/sphinxcontrib-dotnetdomain.git\", \"svn_url\": \"https://github.com/readthedocs/sphinxcontrib-dotnetdomain\", \"homepage\": \"\", \"size\": 103, \"stargazers_count\": 12, \"watchers_count\": 12, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 9, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 12, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 9, \"open_issues\": 12, \"watchers\": 12, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 67, + "fields": { + "pub_date": "2021-01-09T17:46:04.640Z", + "modified_date": "2021-01-09T17:46:04.650Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "recommonmark", + "full_name": "readthedocs/recommonmark", + "description": "A markdown parser for docutils", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/recommonmark.git", + "clone_url": "https://github.com/readthedocs/recommonmark.git", + "html_url": "https://github.com/readthedocs/recommonmark", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 39848792, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzOTg0ODc5Mg==\", \"name\": \"recommonmark\", \"full_name\": \"readthedocs/recommonmark\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/recommonmark\", \"description\": \"A markdown parser for docutils\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/recommonmark\", \"forks_url\": \"https://api.github.com/repos/readthedocs/recommonmark/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/recommonmark/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/recommonmark/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/recommonmark/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/recommonmark/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/recommonmark/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/recommonmark/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/recommonmark/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/recommonmark/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/recommonmark/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/recommonmark/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/recommonmark/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/recommonmark/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/recommonmark/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/recommonmark/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/recommonmark/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/recommonmark/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/recommonmark/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/recommonmark/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/recommonmark/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/recommonmark/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/recommonmark/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/recommonmark/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/recommonmark/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/recommonmark/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/recommonmark/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/recommonmark/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/recommonmark/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/recommonmark/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/recommonmark/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/recommonmark/deployments\", \"created_at\": \"2015-07-28T17:42:59Z\", \"updated_at\": \"2021-01-07T23:25:13Z\", \"pushed_at\": \"2020-12-17T19:25:24Z\", \"git_url\": \"git://github.com/readthedocs/recommonmark.git\", \"ssh_url\": \"git@github.com:readthedocs/recommonmark.git\", \"clone_url\": \"https://github.com/readthedocs/recommonmark.git\", \"svn_url\": \"https://github.com/readthedocs/recommonmark\", \"homepage\": \"https://recommonmark.readthedocs.io/\", \"size\": 170, \"stargazers_count\": 327, \"watchers_count\": 327, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 253, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 117, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 253, \"open_issues\": 117, \"watchers\": 327, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 68, + "fields": { + "pub_date": "2021-01-09T17:46:04.660Z", + "modified_date": "2021-01-09T17:46:04.670Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "readthedocs-docker-images", + "full_name": "readthedocs/readthedocs-docker-images", + "description": "Docker image definitions used by Read the Docs", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/readthedocs-docker-images.git", + "clone_url": "https://github.com/readthedocs/readthedocs-docker-images.git", + "html_url": "https://github.com/readthedocs/readthedocs-docker-images", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 40383557, \"node_id\": \"MDEwOlJlcG9zaXRvcnk0MDM4MzU1Nw==\", \"name\": \"readthedocs-docker-images\", \"full_name\": \"readthedocs/readthedocs-docker-images\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-docker-images\", \"description\": \"Docker image definitions used by Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/deployments\", \"created_at\": \"2015-08-07T22:31:41Z\", \"updated_at\": \"2020-12-12T03:35:34Z\", \"pushed_at\": \"2020-10-21T19:48:56Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-docker-images.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-docker-images.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-docker-images.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-docker-images\", \"homepage\": null, \"size\": 175, \"stargazers_count\": 89, \"watchers_count\": 89, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 67, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 27, \"license\": null, \"forks\": 67, \"open_issues\": 27, \"watchers\": 89, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 69, + "fields": { + "pub_date": "2021-01-09T17:46:04.679Z", + "modified_date": "2021-01-09T17:46:04.690Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "pydoc.io", + "full_name": "readthedocs/pydoc.io", + "description": "A browser for Python project documentation ", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/pydoc.io.git", + "clone_url": "https://github.com/readthedocs/pydoc.io.git", + "html_url": "https://github.com/readthedocs/pydoc.io", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 70949326, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3MDk0OTMyNg==\", \"name\": \"pydoc.io\", \"full_name\": \"readthedocs/pydoc.io\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/pydoc.io\", \"description\": \"A browser for Python project documentation \", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/pydoc.io\", \"forks_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/deployments\", \"created_at\": \"2016-10-14T21:43:19Z\", \"updated_at\": \"2020-10-18T00:45:24Z\", \"pushed_at\": \"2020-06-05T18:45:34Z\", \"git_url\": \"git://github.com/readthedocs/pydoc.io.git\", \"ssh_url\": \"git@github.com:readthedocs/pydoc.io.git\", \"clone_url\": \"https://github.com/readthedocs/pydoc.io.git\", \"svn_url\": \"https://github.com/readthedocs/pydoc.io\", \"homepage\": null, \"size\": 189, \"stargazers_count\": 21, \"watchers_count\": 21, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 7, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 15, \"license\": {\"key\": \"apache-2.0\", \"name\": \"Apache License 2.0\", \"spdx_id\": \"Apache-2.0\", \"url\": \"https://api.github.com/licenses/apache-2.0\", \"node_id\": \"MDc6TGljZW5zZTI=\"}, \"forks\": 7, \"open_issues\": 15, \"watchers\": 21, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 70, + "fields": { + "pub_date": "2021-01-09T17:46:04.698Z", + "modified_date": "2021-01-09T17:46:04.705Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "apitheme", + "full_name": "readthedocs/apitheme", + "description": "Sphinx API documentation theme", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/apitheme.git", + "clone_url": "https://github.com/readthedocs/apitheme.git", + "html_url": "https://github.com/readthedocs/apitheme", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 72697185, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3MjY5NzE4NQ==\", \"name\": \"apitheme\", \"full_name\": \"readthedocs/apitheme\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/apitheme\", \"description\": \"Sphinx API documentation theme\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/apitheme\", \"forks_url\": \"https://api.github.com/repos/readthedocs/apitheme/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/apitheme/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/apitheme/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/apitheme/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/apitheme/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/apitheme/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/apitheme/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/apitheme/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/apitheme/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/apitheme/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/apitheme/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/apitheme/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/apitheme/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/apitheme/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/apitheme/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/apitheme/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/apitheme/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/apitheme/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/apitheme/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/apitheme/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/apitheme/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/apitheme/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/apitheme/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/apitheme/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/apitheme/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/apitheme/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/apitheme/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/apitheme/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/apitheme/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/apitheme/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/apitheme/deployments\", \"created_at\": \"2016-11-03T01:37:24Z\", \"updated_at\": \"2020-06-07T08:34:52Z\", \"pushed_at\": \"2017-06-16T21:00:03Z\", \"git_url\": \"git://github.com/readthedocs/apitheme.git\", \"ssh_url\": \"git@github.com:readthedocs/apitheme.git\", \"clone_url\": \"https://github.com/readthedocs/apitheme.git\", \"svn_url\": \"https://github.com/readthedocs/apitheme\", \"homepage\": null, \"size\": 3188, \"stargazers_count\": 6, \"watchers_count\": 6, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 7, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"agpl-3.0\", \"name\": \"GNU Affero General Public License v3.0\", \"spdx_id\": \"AGPL-3.0\", \"url\": \"https://api.github.com/licenses/agpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTE=\"}, \"forks\": 7, \"open_issues\": 0, \"watchers\": 6, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 71, + "fields": { + "pub_date": "2021-01-09T17:46:04.710Z", + "modified_date": "2021-01-09T17:46:04.716Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "rtd-sphinx-themes-examples", + "full_name": "readthedocs/rtd-sphinx-themes-examples", + "description": "A project illustrating different Sphinx themes locally and on Read the Docs", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/rtd-sphinx-themes-examples.git", + "clone_url": "https://github.com/readthedocs/rtd-sphinx-themes-examples.git", + "html_url": "https://github.com/readthedocs/rtd-sphinx-themes-examples", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 122140694, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjIxNDA2OTQ=\", \"name\": \"rtd-sphinx-themes-examples\", \"full_name\": \"readthedocs/rtd-sphinx-themes-examples\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/rtd-sphinx-themes-examples\", \"description\": \"A project illustrating different Sphinx themes locally and on Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples\", \"forks_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/deployments\", \"created_at\": \"2018-02-20T01:00:13Z\", \"updated_at\": \"2020-05-20T02:44:47Z\", \"pushed_at\": \"2018-02-21T22:34:40Z\", \"git_url\": \"git://github.com/readthedocs/rtd-sphinx-themes-examples.git\", \"ssh_url\": \"git@github.com:readthedocs/rtd-sphinx-themes-examples.git\", \"clone_url\": \"https://github.com/readthedocs/rtd-sphinx-themes-examples.git\", \"svn_url\": \"https://github.com/readthedocs/rtd-sphinx-themes-examples\", \"homepage\": \"https://rtd-sphinx-theme-sample-project.readthedocs.io\", \"size\": 26, \"stargazers_count\": 6, \"watchers_count\": 6, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 14, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 14, \"open_issues\": 0, \"watchers\": 6, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 72, + "fields": { + "pub_date": "2021-01-09T17:46:04.721Z", + "modified_date": "2021-01-09T17:46:04.726Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "common", + "full_name": "readthedocs/common", + "description": "Shared bits around multiple repositories", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/common.git", + "clone_url": "https://github.com/readthedocs/common.git", + "html_url": "https://github.com/readthedocs/common", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 125391103, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjUzOTExMDM=\", \"name\": \"common\", \"full_name\": \"readthedocs/common\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/common\", \"description\": \"Shared bits around multiple repositories\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/common\", \"forks_url\": \"https://api.github.com/repos/readthedocs/common/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/common/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/common/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/common/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/common/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/common/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/common/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/common/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/common/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/common/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/common/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/common/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/common/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/common/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/common/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/common/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/common/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/common/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/common/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/common/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/common/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/common/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/common/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/common/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/common/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/common/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/common/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/common/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/common/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/common/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/common/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/common/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/common/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/common/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/common/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/common/deployments\", \"created_at\": \"2018-03-15T15:52:02Z\", \"updated_at\": \"2020-12-27T21:11:24Z\", \"pushed_at\": \"2021-01-08T16:09:57Z\", \"git_url\": \"git://github.com/readthedocs/common.git\", \"ssh_url\": \"git@github.com:readthedocs/common.git\", \"clone_url\": \"https://github.com/readthedocs/common.git\", \"svn_url\": \"https://github.com/readthedocs/common\", \"homepage\": \"\", \"size\": 135, \"stargazers_count\": 4, \"watchers_count\": 4, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 12, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 10, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 12, \"open_issues\": 10, \"watchers\": 4, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 73, + "fields": { + "pub_date": "2021-01-09T17:46:04.731Z", + "modified_date": "2021-01-09T17:46:04.736Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "ads-for-opensource", + "full_name": "readthedocs/ads-for-opensource", + "description": "An Adblock/AdblockPlus/uBlock compatible filter list for allowing advertising that benefits open source", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/ads-for-opensource.git", + "clone_url": "https://github.com/readthedocs/ads-for-opensource.git", + "html_url": "https://github.com/readthedocs/ads-for-opensource", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 128274886, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjgyNzQ4ODY=\", \"name\": \"ads-for-opensource\", \"full_name\": \"readthedocs/ads-for-opensource\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/ads-for-opensource\", \"description\": \"An Adblock/AdblockPlus/uBlock compatible filter list for allowing advertising that benefits open source\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource\", \"forks_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/deployments\", \"created_at\": \"2018-04-05T23:18:48Z\", \"updated_at\": \"2021-01-01T18:40:58Z\", \"pushed_at\": \"2020-08-29T11:28:46Z\", \"git_url\": \"git://github.com/readthedocs/ads-for-opensource.git\", \"ssh_url\": \"git@github.com:readthedocs/ads-for-opensource.git\", \"clone_url\": \"https://github.com/readthedocs/ads-for-opensource.git\", \"svn_url\": \"https://github.com/readthedocs/ads-for-opensource\", \"homepage\": \"https://ads-for-open-source.readthedocs.io\", \"size\": 753, \"stargazers_count\": 12, \"watchers_count\": 12, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 4, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 4, \"open_issues\": 2, \"watchers\": 12, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 74, + "fields": { + "pub_date": "2021-01-09T17:46:04.741Z", + "modified_date": "2021-01-09T17:46:04.746Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "rtd-mkdocs-test", + "full_name": "readthedocs/rtd-mkdocs-test", + "description": "A Project for testing versions of MkDocs on Read the Docs", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/rtd-mkdocs-test.git", + "clone_url": "https://github.com/readthedocs/rtd-mkdocs-test.git", + "html_url": "https://github.com/readthedocs/rtd-mkdocs-test", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 145741632, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDU3NDE2MzI=\", \"name\": \"rtd-mkdocs-test\", \"full_name\": \"readthedocs/rtd-mkdocs-test\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/rtd-mkdocs-test\", \"description\": \"A Project for testing versions of MkDocs on Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test\", \"forks_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/deployments\", \"created_at\": \"2018-08-22T17:31:13Z\", \"updated_at\": \"2019-07-09T17:36:12Z\", \"pushed_at\": \"2020-10-07T15:59:57Z\", \"git_url\": \"git://github.com/readthedocs/rtd-mkdocs-test.git\", \"ssh_url\": \"git@github.com:readthedocs/rtd-mkdocs-test.git\", \"clone_url\": \"https://github.com/readthedocs/rtd-mkdocs-test.git\", \"svn_url\": \"https://github.com/readthedocs/rtd-mkdocs-test\", \"homepage\": null, \"size\": 12, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 75, + "fields": { + "pub_date": "2021-01-09T17:46:04.751Z", + "modified_date": "2021-01-09T17:46:04.756Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "ethical-ad-server", + "full_name": "readthedocs/ethical-ad-server", + "description": "The ethical ad server - ads for developers without all the tracking", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/ethical-ad-server.git", + "clone_url": "https://github.com/readthedocs/ethical-ad-server.git", + "html_url": "https://github.com/readthedocs/ethical-ad-server", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 146546932, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDY1NDY5MzI=\", \"name\": \"ethical-ad-server\", \"full_name\": \"readthedocs/ethical-ad-server\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/ethical-ad-server\", \"description\": \"The ethical ad server - ads for developers without all the tracking\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server\", \"forks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/deployments\", \"created_at\": \"2018-08-29T04:53:39Z\", \"updated_at\": \"2021-01-06T20:47:15Z\", \"pushed_at\": \"2020-12-17T21:52:52Z\", \"git_url\": \"git://github.com/readthedocs/ethical-ad-server.git\", \"ssh_url\": \"git@github.com:readthedocs/ethical-ad-server.git\", \"clone_url\": \"https://github.com/readthedocs/ethical-ad-server.git\", \"svn_url\": \"https://github.com/readthedocs/ethical-ad-server\", \"homepage\": \"https://ethical-ad-server.readthedocs.io\", \"size\": 1670, \"stargazers_count\": 27, \"watchers_count\": 27, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 15, \"license\": {\"key\": \"agpl-3.0\", \"name\": \"GNU Affero General Public License v3.0\", \"spdx_id\": \"AGPL-3.0\", \"url\": \"https://api.github.com/licenses/agpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTE=\"}, \"forks\": 8, \"open_issues\": 15, \"watchers\": 27, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 76, + "fields": { + "pub_date": "2021-01-09T17:46:04.761Z", + "modified_date": "2021-01-09T17:46:04.767Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "analytical", + "full_name": "readthedocs/analytical", + "description": "Analytics done server side", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/analytical.git", + "clone_url": "https://github.com/readthedocs/analytical.git", + "html_url": "https://github.com/readthedocs/analytical", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 155672177, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTU2NzIxNzc=\", \"name\": \"analytical\", \"full_name\": \"readthedocs/analytical\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/analytical\", \"description\": \"Analytics done server side\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/analytical\", \"forks_url\": \"https://api.github.com/repos/readthedocs/analytical/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/analytical/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/analytical/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/analytical/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/analytical/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/analytical/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/analytical/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/analytical/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/analytical/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/analytical/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/analytical/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/analytical/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/analytical/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/analytical/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/analytical/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/analytical/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/analytical/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/analytical/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/analytical/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/analytical/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/analytical/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/analytical/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/analytical/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/analytical/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/analytical/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/analytical/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/analytical/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/analytical/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/analytical/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/analytical/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/analytical/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/analytical/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/analytical/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/analytical/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/analytical/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/analytical/deployments\", \"created_at\": \"2018-11-01T06:34:38Z\", \"updated_at\": \"2018-11-06T23:04:23Z\", \"pushed_at\": \"2018-11-06T23:04:42Z\", \"git_url\": \"git://github.com/readthedocs/analytical.git\", \"ssh_url\": \"git@github.com:readthedocs/analytical.git\", \"clone_url\": \"https://github.com/readthedocs/analytical.git\", \"svn_url\": \"https://github.com/readthedocs/analytical\", \"homepage\": \"https://analytical.readthedocs.io\", \"size\": 40, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 1, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 77, + "fields": { + "pub_date": "2021-01-09T17:46:04.772Z", + "modified_date": "2021-01-09T17:46:04.778Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "test-builds", + "full_name": "readthedocs/test-builds", + "description": "Different scenarios (one per branch) to test different build configs on production", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/test-builds.git", + "clone_url": "https://github.com/readthedocs/test-builds.git", + "html_url": "https://github.com/readthedocs/test-builds", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 160498353, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjA0OTgzNTM=\", \"name\": \"test-builds\", \"full_name\": \"readthedocs/test-builds\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/test-builds\", \"description\": \"Different scenarios (one per branch) to test different build configs on production\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/test-builds\", \"forks_url\": \"https://api.github.com/repos/readthedocs/test-builds/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/test-builds/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/test-builds/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/test-builds/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/test-builds/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/test-builds/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/test-builds/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/test-builds/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/test-builds/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/test-builds/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/test-builds/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/test-builds/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/test-builds/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/test-builds/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/test-builds/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/test-builds/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/test-builds/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/test-builds/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/test-builds/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/test-builds/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/test-builds/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/test-builds/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/test-builds/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/test-builds/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/test-builds/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/test-builds/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/test-builds/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/test-builds/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/test-builds/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/test-builds/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/test-builds/deployments\", \"created_at\": \"2018-12-05T10:04:35Z\", \"updated_at\": \"2020-09-28T13:30:52Z\", \"pushed_at\": \"2021-01-05T19:28:24Z\", \"git_url\": \"git://github.com/readthedocs/test-builds.git\", \"ssh_url\": \"git@github.com:readthedocs/test-builds.git\", \"clone_url\": \"https://github.com/readthedocs/test-builds.git\", \"svn_url\": \"https://github.com/readthedocs/test-builds\", \"homepage\": \"https://test-builds.readthedocs.io/en/latest/\", \"size\": 1804, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 7, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": null, \"forks\": 7, \"open_issues\": 2, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 78, + "fields": { + "pub_date": "2021-01-09T17:46:04.787Z", + "modified_date": "2021-01-09T17:46:04.797Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "sphinxcontrib-multisrc", + "full_name": "readthedocs/sphinxcontrib-multisrc", + "description": "Sphinx multiple source path support", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/sphinxcontrib-multisrc.git", + "clone_url": "https://github.com/readthedocs/sphinxcontrib-multisrc.git", + "html_url": "https://github.com/readthedocs/sphinxcontrib-multisrc", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 161437063, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjE0MzcwNjM=\", \"name\": \"sphinxcontrib-multisrc\", \"full_name\": \"readthedocs/sphinxcontrib-multisrc\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinxcontrib-multisrc\", \"description\": \"Sphinx multiple source path support\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/deployments\", \"created_at\": \"2018-12-12T05:26:34Z\", \"updated_at\": \"2020-10-20T09:59:52Z\", \"pushed_at\": \"2018-12-12T05:27:04Z\", \"git_url\": \"git://github.com/readthedocs/sphinxcontrib-multisrc.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinxcontrib-multisrc.git\", \"clone_url\": \"https://github.com/readthedocs/sphinxcontrib-multisrc.git\", \"svn_url\": \"https://github.com/readthedocs/sphinxcontrib-multisrc\", \"homepage\": null, \"size\": 6, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 79, + "fields": { + "pub_date": "2021-01-09T17:46:04.807Z", + "modified_date": "2021-01-09T17:46:04.818Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "sphinx-notfound-page", + "full_name": "readthedocs/sphinx-notfound-page", + "description": "Create a custom 404 page with absolute URLs hardcoded", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/sphinx-notfound-page.git", + "clone_url": "https://github.com/readthedocs/sphinx-notfound-page.git", + "html_url": "https://github.com/readthedocs/sphinx-notfound-page", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 166539299, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjY1MzkyOTk=\", \"name\": \"sphinx-notfound-page\", \"full_name\": \"readthedocs/sphinx-notfound-page\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx-notfound-page\", \"description\": \"Create a custom 404 page with absolute URLs hardcoded\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/deployments\", \"created_at\": \"2019-01-19T11:30:38Z\", \"updated_at\": \"2021-01-05T14:08:17Z\", \"pushed_at\": \"2021-01-08T06:36:06Z\", \"git_url\": \"git://github.com/readthedocs/sphinx-notfound-page.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx-notfound-page.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx-notfound-page.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx-notfound-page\", \"homepage\": \"https://sphinx-notfound-page.readthedocs.io/\", \"size\": 173, \"stargazers_count\": 11, \"watchers_count\": 11, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 15, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 6, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 15, \"open_issues\": 6, \"watchers\": 11, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 80, + "fields": { + "pub_date": "2021-01-09T17:46:04.828Z", + "modified_date": "2021-01-09T17:46:04.838Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "django-storages", + "full_name": "readthedocs/django-storages", + "description": "https://django-storages.readthedocs.io/", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/django-storages.git", + "clone_url": "https://github.com/readthedocs/django-storages.git", + "html_url": "https://github.com/readthedocs/django-storages", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 172972465, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNzI5NzI0NjU=\", \"name\": \"django-storages\", \"full_name\": \"readthedocs/django-storages\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/django-storages\", \"description\": \"https://django-storages.readthedocs.io/\", \"fork\": true, \"url\": \"https://api.github.com/repos/readthedocs/django-storages\", \"forks_url\": \"https://api.github.com/repos/readthedocs/django-storages/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/django-storages/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/django-storages/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/django-storages/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/django-storages/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/django-storages/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/django-storages/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/django-storages/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/django-storages/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/django-storages/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/django-storages/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/django-storages/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/django-storages/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/django-storages/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/django-storages/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/django-storages/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/django-storages/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/django-storages/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/django-storages/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/django-storages/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/django-storages/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/django-storages/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/django-storages/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/django-storages/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/django-storages/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/django-storages/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/django-storages/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/django-storages/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/django-storages/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/django-storages/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/django-storages/deployments\", \"created_at\": \"2019-02-27T19:00:59Z\", \"updated_at\": \"2019-03-01T06:09:01Z\", \"pushed_at\": \"2019-03-01T06:08:58Z\", \"git_url\": \"git://github.com/readthedocs/django-storages.git\", \"ssh_url\": \"git@github.com:readthedocs/django-storages.git\", \"clone_url\": \"https://github.com/readthedocs/django-storages.git\", \"svn_url\": \"https://github.com/readthedocs/django-storages\", \"homepage\": \"\", \"size\": 1269, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 81, + "fields": { + "pub_date": "2021-01-09T17:46:04.848Z", + "modified_date": "2021-01-09T17:46:04.858Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "sphinx-hoverxref", + "full_name": "readthedocs/sphinx-hoverxref", + "description": "Tooltip with content embedded when hover an internal reference", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/sphinx-hoverxref.git", + "clone_url": "https://github.com/readthedocs/sphinx-hoverxref.git", + "html_url": "https://github.com/readthedocs/sphinx-hoverxref", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 189852444, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODk4NTI0NDQ=\", \"name\": \"sphinx-hoverxref\", \"full_name\": \"readthedocs/sphinx-hoverxref\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx-hoverxref\", \"description\": \"Tooltip with content embedded when hover an internal reference\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/deployments\", \"created_at\": \"2019-06-02T13:52:53Z\", \"updated_at\": \"2020-11-25T13:41:31Z\", \"pushed_at\": \"2021-01-04T19:47:05Z\", \"git_url\": \"git://github.com/readthedocs/sphinx-hoverxref.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx-hoverxref.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx-hoverxref.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx-hoverxref\", \"homepage\": \"https://sphinx-hoverxref.readthedocs.io/\", \"size\": 379, \"stargazers_count\": 18, \"watchers_count\": 18, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 13, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 23, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 13, \"open_issues\": 23, \"watchers\": 18, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 82, + "fields": { + "pub_date": "2021-01-09T17:46:04.877Z", + "modified_date": "2021-01-09T17:46:04.888Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "rtd-git-stresstest", + "full_name": "readthedocs/rtd-git-stresstest", + "description": "A stress test for git on Read the Docs", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/rtd-git-stresstest.git", + "clone_url": "https://github.com/readthedocs/rtd-git-stresstest.git", + "html_url": "https://github.com/readthedocs/rtd-git-stresstest", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 240139317, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNDAxMzkzMTc=\", \"name\": \"rtd-git-stresstest\", \"full_name\": \"readthedocs/rtd-git-stresstest\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/rtd-git-stresstest\", \"description\": \"A stress test for git on Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest\", \"forks_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/deployments\", \"created_at\": \"2020-02-12T23:49:21Z\", \"updated_at\": \"2020-02-13T03:47:24Z\", \"pushed_at\": \"2020-02-13T03:47:21Z\", \"git_url\": \"git://github.com/readthedocs/rtd-git-stresstest.git\", \"ssh_url\": \"git@github.com:readthedocs/rtd-git-stresstest.git\", \"clone_url\": \"https://github.com/readthedocs/rtd-git-stresstest.git\", \"svn_url\": \"https://github.com/readthedocs/rtd-git-stresstest\", \"homepage\": null, \"size\": 22161, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 83, + "fields": { + "pub_date": "2021-01-09T17:46:04.897Z", + "modified_date": "2021-01-09T17:46:04.908Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "ethical-ad-client", + "full_name": "readthedocs/ethical-ad-client", + "description": "Ethical Ads JavaScript client", + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/ethical-ad-client.git", + "clone_url": "https://github.com/readthedocs/ethical-ad-client.git", + "html_url": "https://github.com/readthedocs/ethical-ad-client", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 276430121, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzY0MzAxMjE=\", \"name\": \"ethical-ad-client\", \"full_name\": \"readthedocs/ethical-ad-client\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/ethical-ad-client\", \"description\": \"Ethical Ads JavaScript client\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client\", \"forks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/deployments\", \"created_at\": \"2020-07-01T16:35:26Z\", \"updated_at\": \"2021-01-08T00:19:35Z\", \"pushed_at\": \"2020-12-12T23:55:22Z\", \"git_url\": \"git://github.com/readthedocs/ethical-ad-client.git\", \"ssh_url\": \"git@github.com:readthedocs/ethical-ad-client.git\", \"clone_url\": \"https://github.com/readthedocs/ethical-ad-client.git\", \"svn_url\": \"https://github.com/readthedocs/ethical-ad-client\", \"homepage\": \"https://ethical-ad-client.readthedocs.io/en/latest/\", \"size\": 416, \"stargazers_count\": 12, \"watchers_count\": 12, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 13, \"license\": null, \"forks\": 0, \"open_issues\": 13, \"watchers\": 12, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 84, + "fields": { + "pub_date": "2021-01-09T17:46:04.918Z", + "modified_date": "2021-01-09T17:46:04.930Z", + "account": 1, + "organization": 1, + "active": false, + "project": null, + "name": "test-main-branch", + "full_name": "readthedocs/test-main-branch", + "description": null, + "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", + "ssh_url": "git@github.com:readthedocs/test-main-branch.git", + "clone_url": "https://github.com/readthedocs/test-main-branch.git", + "html_url": "https://github.com/readthedocs/test-main-branch", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "main", + "json": "{\"id\": 327104379, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMjcxMDQzNzk=\", \"name\": \"test-main-branch\", \"full_name\": \"readthedocs/test-main-branch\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/test-main-branch\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/test-main-branch\", \"forks_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/deployments\", \"created_at\": \"2021-01-05T19:54:57Z\", \"updated_at\": \"2021-01-05T19:55:05Z\", \"pushed_at\": \"2021-01-05T19:55:45Z\", \"git_url\": \"git://github.com/readthedocs/test-main-branch.git\", \"ssh_url\": \"git@github.com:readthedocs/test-main-branch.git\", \"clone_url\": \"https://github.com/readthedocs/test-main-branch.git\", \"svn_url\": \"https://github.com/readthedocs/test-main-branch\", \"homepage\": null, \"size\": 8, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"main\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", + "users": [ + 2 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 85, + "fields": { + "pub_date": "2021-01-09T17:46:11.236Z", + "modified_date": "2021-01-09T17:46:11.252Z", + "account": 2, + "organization": null, + "active": false, + "project": null, + "name": "changelog-ci", + "full_name": "saadmk-test/changelog-ci", + "description": "Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.", + "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", + "ssh_url": "git@github.com:saadmk-test/changelog-ci.git", + "clone_url": "https://github.com/saadmk-test/changelog-ci.git", + "html_url": "https://github.com/saadmk-test/changelog-ci", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 298590802, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1OTA4MDI=\", \"name\": \"changelog-ci\", \"full_name\": \"saadmk-test/changelog-ci\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/changelog-ci\", \"description\": \"Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk-test/changelog-ci\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/deployments\", \"created_at\": \"2020-09-25T14:07:55Z\", \"updated_at\": \"2020-09-25T14:07:57Z\", \"pushed_at\": \"2020-09-22T08:51:37Z\", \"git_url\": \"git://github.com/saadmk-test/changelog-ci.git\", \"ssh_url\": \"git@github.com:saadmk-test/changelog-ci.git\", \"clone_url\": \"https://github.com/saadmk-test/changelog-ci.git\", \"svn_url\": \"https://github.com/saadmk-test/changelog-ci\", \"homepage\": \"https://github.com/marketplace/actions/changelog-ci\", \"size\": 75, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 3 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 86, + "fields": { + "pub_date": "2021-01-09T17:46:11.257Z", + "modified_date": "2021-01-09T17:46:11.265Z", + "account": 2, + "organization": null, + "active": false, + "project": null, + "name": "django-newsfeed", + "full_name": "saadmk-test/django-newsfeed", + "description": "A news curator and newsletter subscription package for Django", + "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", + "ssh_url": "git@github.com:saadmk-test/django-newsfeed.git", + "clone_url": "https://github.com/saadmk-test/django-newsfeed.git", + "html_url": "https://github.com/saadmk-test/django-newsfeed", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 298590926, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1OTA5MjY=\", \"name\": \"django-newsfeed\", \"full_name\": \"saadmk-test/django-newsfeed\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/django-newsfeed\", \"description\": \"A news curator and newsletter subscription package for Django\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/deployments\", \"created_at\": \"2020-09-25T14:08:21Z\", \"updated_at\": \"2020-09-25T14:08:23Z\", \"pushed_at\": \"2020-09-23T08:13:26Z\", \"git_url\": \"git://github.com/saadmk-test/django-newsfeed.git\", \"ssh_url\": \"git@github.com:saadmk-test/django-newsfeed.git\", \"clone_url\": \"https://github.com/saadmk-test/django-newsfeed.git\", \"svn_url\": \"https://github.com/saadmk-test/django-newsfeed\", \"homepage\": \"https://pypi.org/project/django-newsfeed/\", \"size\": 126, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 3 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 87, + "fields": { + "pub_date": "2021-01-09T17:46:11.269Z", + "modified_date": "2021-01-09T17:46:11.274Z", + "account": 2, + "organization": null, + "active": false, + "project": null, + "name": "test", + "full_name": "saadmk-test/test", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", + "ssh_url": "git@github.com:saadmk-test/test.git", + "clone_url": "https://github.com/saadmk-test/test.git", + "html_url": "https://github.com/saadmk-test/test", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 295183743, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTUxODM3NDM=\", \"name\": \"test\", \"full_name\": \"saadmk-test/test\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/test\", \"description\": null, \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk-test/test\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/test/deployments\", \"created_at\": \"2020-09-13T15:47:21Z\", \"updated_at\": \"2020-09-13T15:47:23Z\", \"pushed_at\": \"2020-09-13T16:28:32Z\", \"git_url\": \"git://github.com/saadmk-test/test.git\", \"ssh_url\": \"git@github.com:saadmk-test/test.git\", \"clone_url\": \"https://github.com/saadmk-test/test.git\", \"svn_url\": \"https://github.com/saadmk-test/test\", \"homepage\": null, \"size\": 129, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 3 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 88, + "fields": { + "pub_date": "2021-01-09T17:46:11.278Z", + "modified_date": "2021-01-09T17:46:11.283Z", + "account": 2, + "organization": null, + "active": false, + "project": null, + "name": "test-actions", + "full_name": "saadmk-test/test-actions", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", + "ssh_url": "git@github.com:saadmk-test/test-actions.git", + "clone_url": "https://github.com/saadmk-test/test-actions.git", + "html_url": "https://github.com/saadmk-test/test-actions", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 298571685, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1NzE2ODU=\", \"name\": \"test-actions\", \"full_name\": \"saadmk-test/test-actions\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/test-actions\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk-test/test-actions\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/test-actions/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/test-actions/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/test-actions/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/test-actions/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/test-actions/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/test-actions/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/test-actions/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/test-actions/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/test-actions/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/test-actions/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/test-actions/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/test-actions/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/test-actions/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/test-actions/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/test-actions/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/test-actions/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/test-actions/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/test-actions/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/test-actions/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/test-actions/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/test-actions/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/test-actions/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/test-actions/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/test-actions/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/test-actions/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/test-actions/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/test-actions/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/test-actions/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/test-actions/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/test-actions/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/test-actions/deployments\", \"created_at\": \"2020-09-25T12:51:24Z\", \"updated_at\": \"2020-09-25T13:57:09Z\", \"pushed_at\": \"2020-09-25T13:57:07Z\", \"git_url\": \"git://github.com/saadmk-test/test-actions.git\", \"ssh_url\": \"git@github.com:saadmk-test/test-actions.git\", \"clone_url\": \"https://github.com/saadmk-test/test-actions.git\", \"svn_url\": \"https://github.com/saadmk-test/test-actions\", \"homepage\": null, \"size\": 5, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 3 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 89, + "fields": { + "pub_date": "2021-01-09T17:46:11.286Z", + "modified_date": "2021-01-09T17:46:11.289Z", + "account": 2, + "organization": null, + "active": false, + "project": null, + "name": "test-ci-public", + "full_name": "saadmk-test/test-ci-public", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", + "ssh_url": "git@github.com:saadmk-test/test-ci-public.git", + "clone_url": "https://github.com/saadmk-test/test-ci-public.git", + "html_url": "https://github.com/saadmk-test/test-ci-public", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "main", + "json": "{\"id\": 303678283, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMDM2NzgyODM=\", \"name\": \"test-ci-public\", \"full_name\": \"saadmk-test/test-ci-public\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/test-ci-public\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk-test/test-ci-public\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/deployments\", \"created_at\": \"2020-10-13T11:18:33Z\", \"updated_at\": \"2020-10-13T11:23:00Z\", \"pushed_at\": \"2020-10-13T11:24:35Z\", \"git_url\": \"git://github.com/saadmk-test/test-ci-public.git\", \"ssh_url\": \"git@github.com:saadmk-test/test-ci-public.git\", \"clone_url\": \"https://github.com/saadmk-test/test-ci-public.git\", \"svn_url\": \"https://github.com/saadmk-test/test-ci-public\", \"homepage\": null, \"size\": 4, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": null, \"forks\": 0, \"open_issues\": 1, \"watchers\": 0, \"default_branch\": \"main\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", + "users": [ + 3 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 90, + "fields": { + "pub_date": "2021-01-09T17:46:11.292Z", + "modified_date": "2021-01-09T17:46:11.297Z", + "account": 2, + "organization": null, + "active": false, + "project": null, + "name": "test", + "full_name": "saadmk11/test", + "description": null, + "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", + "ssh_url": "git@github.com:saadmk11/test.git", + "clone_url": "https://github.com/saadmk11/test.git", + "html_url": "https://github.com/saadmk11/test", + "private": false, + "admin": false, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 180540525, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODA1NDA1MjU=\", \"name\": \"test\", \"full_name\": \"saadmk11/test\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test/deployments\", \"created_at\": \"2019-04-10T08:45:58Z\", \"updated_at\": \"2020-12-09T07:15:02Z\", \"pushed_at\": \"2020-12-09T07:18:23Z\", \"git_url\": \"git://github.com/saadmk11/test.git\", \"ssh_url\": \"git@github.com:saadmk11/test.git\", \"clone_url\": \"https://github.com/saadmk11/test.git\", \"svn_url\": \"https://github.com/saadmk11/test\", \"homepage\": null, \"size\": 142, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Shell\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 1, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": true, \"pull\": true}}", + "users": [ + 3 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 91, + "fields": { + "pub_date": "2021-01-09T17:46:16.986Z", + "modified_date": "2021-01-09T17:46:17.001Z", + "account": 3, + "organization": null, + "active": false, + "project": null, + "name": "test", + "full_name": "Maksudul Haque / test", + "description": "", + "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/1870954/avatar.png", + "ssh_url": "git@gitlab.com:saadmk11/test.git", + "clone_url": "https://gitlab.com/saadmk11/test.git", + "html_url": "https://gitlab.com/saadmk11/test", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 13716530, \"description\": \"\", \"name\": \"test\", \"name_with_namespace\": \"Maksudul Haque / test\", \"path\": \"test\", \"path_with_namespace\": \"saadmk11/test\", \"created_at\": \"2019-08-08T11:11:32.658Z\", \"default_branch\": \"master\", \"tag_list\": [], \"ssh_url_to_repo\": \"git@gitlab.com:saadmk11/test.git\", \"http_url_to_repo\": \"https://gitlab.com/saadmk11/test.git\", \"web_url\": \"https://gitlab.com/saadmk11/test\", \"readme_url\": \"https://gitlab.com/saadmk11/test/-/blob/master/README.md\", \"avatar_url\": null, \"forks_count\": 1, \"star_count\": 0, \"last_activity_at\": \"2020-08-15T17:17:14.008Z\", \"namespace\": {\"id\": 2310580, \"name\": \"Maksudul Haque\", \"path\": \"saadmk11\", \"kind\": \"user\", \"full_path\": \"saadmk11\", \"parent_id\": null, \"avatar_url\": \"/uploads/-/system/user/avatar/1870954/avatar.png\", \"web_url\": \"https://gitlab.com/saadmk11\"}, \"_links\": {\"self\": \"https://gitlab.com/api/v4/projects/13716530\", \"issues\": \"https://gitlab.com/api/v4/projects/13716530/issues\", \"merge_requests\": \"https://gitlab.com/api/v4/projects/13716530/merge_requests\", \"repo_branches\": \"https://gitlab.com/api/v4/projects/13716530/repository/branches\", \"labels\": \"https://gitlab.com/api/v4/projects/13716530/labels\", \"events\": \"https://gitlab.com/api/v4/projects/13716530/events\", \"members\": \"https://gitlab.com/api/v4/projects/13716530/members\"}, \"packages_enabled\": true, \"empty_repo\": false, \"archived\": false, \"visibility\": \"public\", \"owner\": {\"id\": 1870954, \"name\": \"Maksudul Haque\", \"username\": \"saadmk11\", \"state\": \"active\", \"avatar_url\": \"https://assets.gitlab-static.net/uploads/-/system/user/avatar/1870954/avatar.png\", \"web_url\": \"https://gitlab.com/saadmk11\"}, \"resolve_outdated_diff_discussions\": false, \"container_registry_enabled\": true, \"issues_enabled\": true, \"merge_requests_enabled\": true, \"wiki_enabled\": true, \"jobs_enabled\": true, \"snippets_enabled\": true, \"service_desk_enabled\": true, \"service_desk_address\": \"incoming+saadmk11-test-13716530-issue-@incoming.gitlab.com\", \"can_create_merge_request_in\": true, \"issues_access_level\": \"enabled\", \"repository_access_level\": \"enabled\", \"merge_requests_access_level\": \"enabled\", \"forking_access_level\": \"enabled\", \"wiki_access_level\": \"enabled\", \"builds_access_level\": \"enabled\", \"snippets_access_level\": \"enabled\", \"pages_access_level\": \"enabled\", \"operations_access_level\": \"enabled\", \"analytics_access_level\": \"enabled\", \"emails_disabled\": null, \"shared_runners_enabled\": true, \"lfs_enabled\": true, \"creator_id\": 1870954, \"import_status\": \"none\", \"open_issues_count\": 0, \"ci_default_git_depth\": 50, \"ci_forward_deployment_enabled\": null, \"public_jobs\": true, \"build_timeout\": 3600, \"auto_cancel_pending_pipelines\": \"enabled\", \"build_coverage_regex\": null, \"ci_config_path\": null, \"shared_with_groups\": [], \"only_allow_merge_if_pipeline_succeeds\": false, \"allow_merge_on_skipped_pipeline\": null, \"request_access_enabled\": false, \"only_allow_merge_if_all_discussions_are_resolved\": false, \"remove_source_branch_after_merge\": null, \"printing_merge_request_link_enabled\": true, \"merge_method\": \"merge\", \"suggestion_commit_message\": null, \"auto_devops_enabled\": false, \"auto_devops_deploy_strategy\": \"continuous\", \"autoclose_referenced_issues\": true, \"approvals_before_merge\": 0, \"mirror\": false, \"external_authorization_classification_label\": \"\", \"marked_for_deletion_at\": null, \"marked_for_deletion_on\": null, \"requirements_enabled\": true, \"compliance_frameworks\": [], \"permissions\": {\"project_access\": {\"access_level\": 40, \"notification_level\": 3}, \"group_access\": null}}", + "users": [ + 4 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 92, + "fields": { + "pub_date": "2021-01-09T17:46:17.006Z", + "modified_date": "2021-01-09T17:46:19.509Z", + "account": 3, + "organization": 3, + "active": false, + "project": null, + "name": "test-project", + "full_name": "saadmk11-group / test-project", + "description": "", + "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", + "ssh_url": "git@gitlab.com:saadmk11-group/test-project.git", + "clone_url": "https://gitlab.com/saadmk11-group/test-project.git", + "html_url": "https://gitlab.com/saadmk11-group/test-project", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 23121473, \"description\": \"\", \"name\": \"test-project\", \"name_with_namespace\": \"saadmk11-group / test-project\", \"path\": \"test-project\", \"path_with_namespace\": \"saadmk11-group/test-project\", \"created_at\": \"2020-12-15T14:48:31.001Z\", \"default_branch\": \"master\", \"tag_list\": [], \"ssh_url_to_repo\": \"git@gitlab.com:saadmk11-group/test-project.git\", \"http_url_to_repo\": \"https://gitlab.com/saadmk11-group/test-project.git\", \"web_url\": \"https://gitlab.com/saadmk11-group/test-project\", \"readme_url\": \"https://gitlab.com/saadmk11-group/test-project/-/blob/master/README.md\", \"avatar_url\": null, \"forks_count\": 0, \"star_count\": 0, \"last_activity_at\": \"2020-12-15T14:48:31.001Z\", \"namespace\": {\"id\": 10411125, \"name\": \"saadmk11-group\", \"path\": \"saadmk11-group\", \"kind\": \"group\", \"full_path\": \"saadmk11-group\", \"parent_id\": null, \"avatar_url\": null, \"web_url\": \"https://gitlab.com/groups/saadmk11-group\"}, \"_links\": {\"self\": \"https://gitlab.com/api/v4/projects/23121473\", \"issues\": \"https://gitlab.com/api/v4/projects/23121473/issues\", \"merge_requests\": \"https://gitlab.com/api/v4/projects/23121473/merge_requests\", \"repo_branches\": \"https://gitlab.com/api/v4/projects/23121473/repository/branches\", \"labels\": \"https://gitlab.com/api/v4/projects/23121473/labels\", \"events\": \"https://gitlab.com/api/v4/projects/23121473/events\", \"members\": \"https://gitlab.com/api/v4/projects/23121473/members\"}, \"packages_enabled\": true, \"empty_repo\": false, \"archived\": false, \"visibility\": \"public\", \"resolve_outdated_diff_discussions\": false, \"container_registry_enabled\": true, \"container_expiration_policy\": {\"cadence\": \"1d\", \"enabled\": false, \"keep_n\": 10, \"older_than\": \"90d\", \"name_regex\": \".*\", \"name_regex_keep\": null, \"next_run_at\": \"2020-12-16T14:48:31.019Z\"}, \"issues_enabled\": true, \"merge_requests_enabled\": true, \"wiki_enabled\": true, \"jobs_enabled\": true, \"snippets_enabled\": true, \"service_desk_enabled\": true, \"service_desk_address\": \"incoming+saadmk11-group-test-project-23121473-issue-@incoming.gitlab.com\", \"can_create_merge_request_in\": true, \"issues_access_level\": \"enabled\", \"repository_access_level\": \"enabled\", \"merge_requests_access_level\": \"enabled\", \"forking_access_level\": \"enabled\", \"wiki_access_level\": \"enabled\", \"builds_access_level\": \"enabled\", \"snippets_access_level\": \"enabled\", \"pages_access_level\": \"enabled\", \"operations_access_level\": \"enabled\", \"analytics_access_level\": \"enabled\", \"emails_disabled\": null, \"shared_runners_enabled\": true, \"lfs_enabled\": true, \"creator_id\": 1870954, \"import_status\": \"none\", \"import_error\": null, \"open_issues_count\": 0, \"runners_token\": \"SyMF3LEDGTxqmb8Lchzj\", \"ci_default_git_depth\": 50, \"ci_forward_deployment_enabled\": true, \"public_jobs\": true, \"build_git_strategy\": \"fetch\", \"build_timeout\": 3600, \"auto_cancel_pending_pipelines\": \"enabled\", \"build_coverage_regex\": null, \"ci_config_path\": \"\", \"shared_with_groups\": [], \"only_allow_merge_if_pipeline_succeeds\": false, \"allow_merge_on_skipped_pipeline\": null, \"request_access_enabled\": true, \"only_allow_merge_if_all_discussions_are_resolved\": false, \"remove_source_branch_after_merge\": true, \"printing_merge_request_link_enabled\": true, \"merge_method\": \"merge\", \"suggestion_commit_message\": null, \"auto_devops_enabled\": false, \"auto_devops_deploy_strategy\": \"continuous\", \"autoclose_referenced_issues\": true, \"approvals_before_merge\": 0, \"mirror\": false, \"external_authorization_classification_label\": \"\", \"marked_for_deletion_at\": null, \"marked_for_deletion_on\": null, \"requirements_enabled\": true, \"compliance_frameworks\": [], \"permissions\": {\"project_access\": null, \"group_access\": {\"access_level\": 50, \"notification_level\": 3}}}", + "users": [ + 4 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 93, + "fields": { + "pub_date": "2021-01-09T17:46:17.014Z", + "modified_date": "2021-01-09T17:46:19.917Z", + "account": 3, + "organization": 3, + "active": false, + "project": null, + "name": "test-project2", + "full_name": "saadmk11-group / test-project2", + "description": "", + "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", + "ssh_url": "git@gitlab.com:saadmk11-group/test-project2.git", + "clone_url": "https://gitlab.com/saadmk11-group/test-project2.git", + "html_url": "https://gitlab.com/saadmk11-group/test-project2", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"id\": 23121535, \"description\": \"\", \"name\": \"test-project2\", \"name_with_namespace\": \"saadmk11-group / test-project2\", \"path\": \"test-project2\", \"path_with_namespace\": \"saadmk11-group/test-project2\", \"created_at\": \"2020-12-15T14:49:25.365Z\", \"default_branch\": \"master\", \"tag_list\": [], \"ssh_url_to_repo\": \"git@gitlab.com:saadmk11-group/test-project2.git\", \"http_url_to_repo\": \"https://gitlab.com/saadmk11-group/test-project2.git\", \"web_url\": \"https://gitlab.com/saadmk11-group/test-project2\", \"readme_url\": \"https://gitlab.com/saadmk11-group/test-project2/-/blob/master/README.md\", \"avatar_url\": null, \"forks_count\": 0, \"star_count\": 0, \"last_activity_at\": \"2020-12-15T14:49:25.365Z\", \"namespace\": {\"id\": 10411125, \"name\": \"saadmk11-group\", \"path\": \"saadmk11-group\", \"kind\": \"group\", \"full_path\": \"saadmk11-group\", \"parent_id\": null, \"avatar_url\": null, \"web_url\": \"https://gitlab.com/groups/saadmk11-group\"}, \"_links\": {\"self\": \"https://gitlab.com/api/v4/projects/23121535\", \"issues\": \"https://gitlab.com/api/v4/projects/23121535/issues\", \"merge_requests\": \"https://gitlab.com/api/v4/projects/23121535/merge_requests\", \"repo_branches\": \"https://gitlab.com/api/v4/projects/23121535/repository/branches\", \"labels\": \"https://gitlab.com/api/v4/projects/23121535/labels\", \"events\": \"https://gitlab.com/api/v4/projects/23121535/events\", \"members\": \"https://gitlab.com/api/v4/projects/23121535/members\"}, \"packages_enabled\": true, \"empty_repo\": false, \"archived\": false, \"visibility\": \"public\", \"resolve_outdated_diff_discussions\": false, \"container_registry_enabled\": true, \"container_expiration_policy\": {\"cadence\": \"1d\", \"enabled\": false, \"keep_n\": 10, \"older_than\": \"90d\", \"name_regex\": \".*\", \"name_regex_keep\": null, \"next_run_at\": \"2020-12-16T14:49:25.385Z\"}, \"issues_enabled\": true, \"merge_requests_enabled\": true, \"wiki_enabled\": true, \"jobs_enabled\": true, \"snippets_enabled\": true, \"service_desk_enabled\": true, \"service_desk_address\": \"incoming+saadmk11-group-test-project2-23121535-issue-@incoming.gitlab.com\", \"can_create_merge_request_in\": true, \"issues_access_level\": \"enabled\", \"repository_access_level\": \"enabled\", \"merge_requests_access_level\": \"enabled\", \"forking_access_level\": \"enabled\", \"wiki_access_level\": \"enabled\", \"builds_access_level\": \"enabled\", \"snippets_access_level\": \"enabled\", \"pages_access_level\": \"enabled\", \"operations_access_level\": \"enabled\", \"analytics_access_level\": \"enabled\", \"emails_disabled\": null, \"shared_runners_enabled\": true, \"lfs_enabled\": true, \"creator_id\": 1870954, \"import_status\": \"none\", \"import_error\": null, \"open_issues_count\": 0, \"runners_token\": \"ZERsXzyFwi7xyoMGcxQv\", \"ci_default_git_depth\": 50, \"ci_forward_deployment_enabled\": true, \"public_jobs\": true, \"build_git_strategy\": \"fetch\", \"build_timeout\": 3600, \"auto_cancel_pending_pipelines\": \"enabled\", \"build_coverage_regex\": null, \"ci_config_path\": \"\", \"shared_with_groups\": [], \"only_allow_merge_if_pipeline_succeeds\": false, \"allow_merge_on_skipped_pipeline\": null, \"request_access_enabled\": true, \"only_allow_merge_if_all_discussions_are_resolved\": false, \"remove_source_branch_after_merge\": true, \"printing_merge_request_link_enabled\": true, \"merge_method\": \"merge\", \"suggestion_commit_message\": null, \"auto_devops_enabled\": false, \"auto_devops_deploy_strategy\": \"continuous\", \"autoclose_referenced_issues\": true, \"approvals_before_merge\": 0, \"mirror\": false, \"external_authorization_classification_label\": \"\", \"marked_for_deletion_at\": null, \"marked_for_deletion_on\": null, \"requirements_enabled\": true, \"compliance_frameworks\": [], \"permissions\": {\"project_access\": null, \"group_access\": {\"access_level\": 50, \"notification_level\": 3}}}", + "users": [ + 4 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 94, + "fields": { + "pub_date": "2021-01-09T17:46:29.443Z", + "modified_date": "2021-01-09T17:46:29.885Z", + "account": 4, + "organization": null, + "active": false, + "project": null, + "name": "test", + "full_name": "saadmk/test", + "description": "", + "avatar_url": "https://bytebucket.org/ravatar/%7Baae2bd67-a0b4-4854-8a15-ec96d10c3d95%7D?ts=default", + "ssh_url": "git@bitbucket.org:saadmk/test.git", + "clone_url": "https://bitbucket.org/saadmk/test.git", + "html_url": "https://bitbucket.org/saadmk/test", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"scm\": \"git\", \"website\": \"\", \"has_wiki\": false, \"uuid\": \"{aae2bd67-a0b4-4854-8a15-ec96d10c3d95}\", \"links\": {\"watchers\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/watchers\"}, \"branches\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/refs/branches\"}, \"tags\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/refs/tags\"}, \"commits\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/commits\"}, \"clone\": [{\"href\": \"https://saadmk@bitbucket.org/saadmk/test.git\", \"name\": \"https\"}, {\"href\": \"git@bitbucket.org:saadmk/test.git\", \"name\": \"ssh\"}], \"self\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test\"}, \"source\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/src\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk/test\"}, \"avatar\": {\"href\": \"https://bytebucket.org/ravatar/%7Baae2bd67-a0b4-4854-8a15-ec96d10c3d95%7D?ts=default\"}, \"hooks\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/hooks\"}, \"forks\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/forks\"}, \"downloads\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/downloads\"}, \"pullrequests\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/pullrequests\"}}, \"fork_policy\": \"allow_forks\", \"full_name\": \"saadmk/test\", \"name\": \"test\", \"project\": {\"links\": {\"self\": {\"href\": \"https://bitbucket.org/!api/2.0/workspaces/saadmk/projects/PROJ\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk/workspace/projects/PROJ\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/user/saadmk/projects/PROJ/avatar/32?ts=1559228697\"}}, \"type\": \"project\", \"name\": \"Untitled project\", \"key\": \"PROJ\", \"uuid\": \"{8666785a-a535-4a96-be07-26f614104dcb}\"}, \"language\": \"\", \"created_on\": \"2019-05-30T15:04:57.082700+00:00\", \"mainbranch\": {\"type\": \"branch\", \"name\": \"master\"}, \"workspace\": {\"slug\": \"saadmk\", \"type\": \"workspace\", \"name\": \"Maksudul Haque\", \"links\": {\"self\": {\"href\": \"https://bitbucket.org/!api/2.0/workspaces/saadmk\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/workspaces/saadmk/avatar/?ts=1543660995\"}}, \"uuid\": \"{4ae1207e-fc59-49e8-befb-f5ab05820a40}\"}, \"has_issues\": false, \"owner\": {\"display_name\": \"Maksudul Haque\", \"uuid\": \"{4ae1207e-fc59-49e8-befb-f5ab05820a40}\", \"links\": {\"self\": {\"href\": \"https://bitbucket.org/!api/2.0/users/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D/\"}, \"avatar\": {\"href\": \"https://secure.gravatar.com/avatar/38d3010163198b6a6a0602302b52defc?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FMH-6.png\"}}, \"nickname\": \"saadmk\", \"type\": \"user\", \"account_id\": \"557058:1faf7f86-0b7b-4e2f-a364-083dbdc035ac\"}, \"updated_on\": \"2020-12-03T15:26:53.306617+00:00\", \"size\": 84508, \"type\": \"repository\", \"slug\": \"test\", \"is_private\": false, \"description\": \"\"}", + "users": [ + 5 + ] + } +}, +{ + "model": "oauth.remoterepository", + "pk": 95, + "fields": { + "pub_date": "2021-01-09T17:46:29.472Z", + "modified_date": "2021-01-09T17:46:31.452Z", + "account": 4, + "organization": 5, + "active": false, + "project": null, + "name": "test-rtd", + "full_name": "saadmk11-bitbucket-test/test-rtd", + "description": "", + "avatar_url": "https://bytebucket.org/ravatar/%7B34a1f965-9218-4cc2-a33b-97524c30358b%7D?ts=python", + "ssh_url": "git@bitbucket.org:saadmk11-bitbucket-test/test-rtd.git", + "clone_url": "https://bitbucket.org/saadmk11-bitbucket-test/test-rtd.git", + "html_url": "https://bitbucket.org/saadmk11-bitbucket-test/test-rtd", + "private": false, + "admin": true, + "vcs": "git", + "default_branch": "master", + "json": "{\"scm\": \"git\", \"website\": null, \"has_wiki\": false, \"uuid\": \"{34a1f965-9218-4cc2-a33b-97524c30358b}\", \"links\": {\"watchers\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/watchers\"}, \"branches\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/refs/branches\"}, \"tags\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/refs/tags\"}, \"commits\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/commits\"}, \"clone\": [{\"href\": \"https://saadmk@bitbucket.org/saadmk11-bitbucket-test/test-rtd.git\", \"name\": \"https\"}, {\"href\": \"git@bitbucket.org:saadmk11-bitbucket-test/test-rtd.git\", \"name\": \"ssh\"}], \"self\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd\"}, \"source\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/src\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk11-bitbucket-test/test-rtd\"}, \"avatar\": {\"href\": \"https://bytebucket.org/ravatar/%7B34a1f965-9218-4cc2-a33b-97524c30358b%7D?ts=python\"}, \"hooks\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/hooks\"}, \"forks\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/forks\"}, \"downloads\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/downloads\"}, \"pullrequests\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/pullrequests\"}}, \"fork_policy\": \"allow_forks\", \"full_name\": \"saadmk11-bitbucket-test/test-rtd\", \"name\": \"test-rtd\", \"project\": {\"links\": {\"self\": {\"href\": \"https://api.bitbucket.org/2.0/workspaces/saadmk11-bitbucket-test/projects/TES\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk11-bitbucket-test/workspace/projects/TES\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/user/saadmk11-bitbucket-test/projects/TES/avatar/32?ts=1609493947\"}}, \"type\": \"project\", \"name\": \"test-rtd\", \"key\": \"TES\", \"uuid\": \"{e51fea76-2d9e-4098-ace4-a0fc7c26c804}\"}, \"language\": \"python\", \"created_on\": \"2021-01-01T09:39:07.971407+00:00\", \"mainbranch\": {\"type\": \"branch\", \"name\": \"master\"}, \"workspace\": {\"slug\": \"saadmk11-bitbucket-test\", \"type\": \"workspace\", \"name\": \"test\", \"links\": {\"self\": {\"href\": \"https://api.bitbucket.org/2.0/workspaces/saadmk11-bitbucket-test\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk11-bitbucket-test/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/workspaces/saadmk11-bitbucket-test/avatar/?ts=1609493800\"}}, \"uuid\": \"{df975040-4c28-47ce-ac1e-529aa8e80530}\"}, \"has_issues\": false, \"owner\": {\"username\": \"saadmk11-bitbucket-test\", \"display_name\": \"test\", \"type\": \"team\", \"uuid\": \"{df975040-4c28-47ce-ac1e-529aa8e80530}\", \"links\": {\"self\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/saadmk11-bitbucket-test/avatar/\"}}}, \"updated_on\": \"2021-01-01T09:39:08.682913+00:00\", \"size\": 63369, \"type\": \"repository\", \"slug\": \"test-rtd\", \"is_private\": false, \"description\": \"\"}", + "users": [ + 5 + ] + } +}, +{ + "model": "account.emailaddress", + "pk": 1, + "fields": { + "user": 2, + "email": "saad.mk112@gmail.com", + "verified": false, + "primary": true + } +}, +{ + "model": "account.emailaddress", + "pk": 2, + "fields": { + "user": 3, + "email": "saad.mk114@gmail.com", + "verified": false, + "primary": true + } +}, +{ + "model": "account.emailaddress", + "pk": 3, + "fields": { + "user": 4, + "email": "saad.mk11@hotmail.com", + "verified": false, + "primary": true + } +}, +{ + "model": "account.emailaddress", + "pk": 4, + "fields": { + "user": 5, + "email": "saad.mk1125@gmail.com", + "verified": false, + "primary": true + } +}, +{ + "model": "socialaccount.socialapp", + "pk": 1, + "fields": { + "provider": "github", + "name": "GitHub", + "client_id": "94e30c320f1b8abb0b5a", + "secret": "f8c96bf12f5b16f9aa97b429f7341833ae090b06", + "key": "", + "sites": [ + 1 + ] + } +}, +{ + "model": "socialaccount.socialapp", + "pk": 2, + "fields": { + "provider": "gitlab", + "name": "GitLab", + "client_id": "e013051cb44a1501acb32b77ed0d1c2f3a14db9f0d23b38a8559cc7f6fb0db70", + "secret": "8d702a21a23afe87b8517e6fbc4f7ebceee8d0a941398789057bf9df8caabd17", + "key": "", + "sites": [ + 1 + ] + } +}, +{ + "model": "socialaccount.socialapp", + "pk": 3, + "fields": { + "provider": "bitbucket_oauth2", + "name": "Bitbucket", + "client_id": "ZpayyJJQNY5QNe8LAm", + "secret": "mNP7NaAVZ3kp5xp22MKU8SyZ6jemTpg7", + "key": "", + "sites": [ + 1 + ] + } +}, +{ + "model": "socialaccount.socialaccount", + "pk": 1, + "fields": { + "user": 2, + "provider": "github", + "uid": "24854406", + "last_login": "2021-01-09T17:44:58.002Z", + "date_joined": "2021-01-09T17:44:58.002Z", + "extra_data": "{\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false, \"name\": \"Maksudul Haque\", \"company\": null, \"blog\": \"\", \"location\": \"Dhaka, Bangladesh\", \"email\": \"saad.mk112@gmail.com\", \"hireable\": true, \"bio\": \"Web Developer, Open Source Contributor.\", \"twitter_username\": \"saad_mk11\", \"public_repos\": 51, \"public_gists\": 0, \"followers\": 50, \"following\": 1, \"created_at\": \"2016-12-31T14:34:25Z\", \"updated_at\": \"2021-01-09T17:39:09Z\"}" + } +}, +{ + "model": "socialaccount.socialaccount", + "pk": 2, + "fields": { + "user": 3, + "provider": "github", + "uid": "71221755", + "last_login": "2021-01-09T17:45:14.558Z", + "date_joined": "2021-01-09T17:45:14.558Z", + "extra_data": "{\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false, \"name\": null, \"company\": null, \"blog\": \"\", \"location\": null, \"email\": \"saad.mk114@gmail.com\", \"hireable\": null, \"bio\": \"This is a Test profile\", \"twitter_username\": null, \"public_repos\": 5, \"public_gists\": 0, \"followers\": 0, \"following\": 0, \"created_at\": \"2020-09-13T14:38:04Z\", \"updated_at\": \"2021-01-09T17:37:21Z\"}" + } +}, +{ + "model": "socialaccount.socialaccount", + "pk": 3, + "fields": { + "user": 4, + "provider": "gitlab", + "uid": "1870954", + "last_login": "2021-01-09T17:45:30.103Z", + "date_joined": "2021-01-09T17:45:30.103Z", + "extra_data": "{\"id\": 1870954, \"name\": \"Maksudul Haque\", \"username\": \"saadmk11\", \"state\": \"active\", \"avatar_url\": \"https://assets.gitlab-static.net/uploads/-/system/user/avatar/1870954/avatar.png\", \"web_url\": \"https://gitlab.com/saadmk11\", \"created_at\": \"2017-12-19T19:55:48.522Z\", \"bio\": \"\", \"bio_html\": \"\", \"location\": \"Dhaka, Bangladesh\", \"public_email\": \"saad.mk11@hotmail.com\", \"skype\": \"\", \"linkedin\": \"\", \"twitter\": \"\", \"website_url\": \"https://about.me/saadmk11\", \"organization\": \"thesmartlabs\", \"job_title\": \"\", \"work_information\": \"thesmartlabs\", \"last_sign_in_at\": \"2021-01-08T09:32:45.652Z\", \"confirmed_at\": \"2017-12-19T19:55:48.077Z\", \"last_activity_on\": \"2021-01-09\", \"email\": \"saad.mk11@hotmail.com\", \"theme_id\": 1, \"color_scheme_id\": 1, \"projects_limit\": 100000, \"current_sign_in_at\": \"2021-01-09T17:39:25.757Z\", \"identities\": [{\"provider\": \"google_oauth2\", \"extern_uid\": \"111656333161789159802\", \"saml_provider_id\": null}, {\"provider\": \"github\", \"extern_uid\": \"24854406\", \"saml_provider_id\": null}], \"can_create_group\": true, \"can_create_project\": true, \"two_factor_enabled\": false, \"external\": false, \"private_profile\": false, \"shared_runners_minutes_limit\": null, \"extra_shared_runners_minutes_limit\": null}" + } +}, +{ + "model": "socialaccount.socialaccount", + "pk": 4, + "fields": { + "user": 5, + "provider": "bitbucket_oauth2", + "uid": "saadmk", + "last_login": "2021-01-09T17:45:50.939Z", + "date_joined": "2021-01-09T17:45:50.939Z", + "extra_data": "{\"username\": \"saadmk\", \"display_name\": \"Maksudul Haque\", \"has_2fa_enabled\": null, \"links\": {\"hooks\": {\"href\": \"https://api.bitbucket.org/2.0/users/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D/hooks\"}, \"self\": {\"href\": \"https://api.bitbucket.org/2.0/users/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}, \"repositories\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D/\"}, \"avatar\": {\"href\": \"https://secure.gravatar.com/avatar/38d3010163198b6a6a0602302b52defc?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FMH-6.png\"}, \"snippets\": {\"href\": \"https://api.bitbucket.org/2.0/snippets/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}}, \"nickname\": \"saadmk\", \"account_id\": \"557058:1faf7f86-0b7b-4e2f-a364-083dbdc035ac\", \"created_on\": \"2016-01-03T14:11:52.662060+00:00\", \"is_staff\": false, \"location\": null, \"account_status\": \"active\", \"type\": \"user\", \"uuid\": \"{4ae1207e-fc59-49e8-befb-f5ab05820a40}\", \"email\": \"saad.mk112@gmail.com\"}" + } +}, +{ + "model": "socialaccount.socialtoken", + "pk": 1, + "fields": { + "app": 1, + "account": 1, + "token": "0cfd34d40170366251867e6974bb2110f65213c7", + "token_secret": "", + "expires_at": null + } +}, +{ + "model": "socialaccount.socialtoken", + "pk": 2, + "fields": { + "app": 1, + "account": 2, + "token": "d91343af3138ae53bb310d46c9fa085f45727b21", + "token_secret": "", + "expires_at": null + } +}, +{ + "model": "socialaccount.socialtoken", + "pk": 3, + "fields": { + "app": 2, + "account": 3, + "token": "baa2e99ad6e24d1a6c98506c2b85529249289c24fd8393525fa476ba8086f0a0", + "token_secret": "b2c01202c3a92b942260ac0726d8da19860f337173e561f30f9d66e294455d9c", + "expires_at": null + } +}, +{ + "model": "socialaccount.socialtoken", + "pk": 4, + "fields": { + "app": 3, + "account": 4, + "token": "GhWQRaD9qSVK7kB7eGF4S6J_25eV9R-KWLI6mXFI6jQsG7S-lmvm9trQXEk9APDGxT6lJLDplwz6_JyUglt-WPXps3PBUWHM8hjXHQq0gCGFygkVfiMJYpB-fzTXl02DjAzzeQ4MCfDL6K-kYr2_", + "token_secret": "r35dHKHa7SWxHPw62R", + "expires_at": "2021-01-09T19:45:38.828Z" + } +} +] diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py index 9d4c7f7c69f..7f0ec2d7070 100644 --- a/readthedocs/oauth/management/commands/sync_vcs_data.py +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -40,6 +40,12 @@ def add_arguments(self, parser): default=False, help='Force re-sync VCS provider data even if the users are already synced.', ) + parser.add_argument( + '--no-dry-run', + action='store_true', + default=False, + help='Trigger tasks for VCS provider re-sync.', + ) def handle(self, *args, **options): queue = options.get('queue') @@ -47,6 +53,7 @@ def handle(self, *args, **options): skip_users = options.get('skip_users') max_users = options.get('max_users') force_sync = options.get('force') + no_dry_run = options.get('no_dry_run') # Filter users who have social accounts connected to their RTD account users = User.objects.filter( @@ -58,27 +65,44 @@ def handle(self, *args, **options): remote_repository_relations__isnull=True ).distinct() + self.stdout.write( + self.style.SUCCESS( + f'Total {users.count()} user(s) can be synced' + ) + ) + if sync_users: users = users.filter(username__in=sync_users) if skip_users: users = users.exclude(username__in=skip_users) - users_to_sync = users.values_list('id', flat=True)[:max_users] - - self.stdout.write( - self.style.SUCCESS( - 'Found %s user(s) with the given parameters' % users.count() + if sync_users or skip_users: + self.stdout.write( + self.style.SUCCESS( + f'Found {users.count()} user(s) with the given parameters' + ) ) - ) - self.stdout.write( - self.style.SUCCESS( - 'Re-syncing VCS Providers for %s user(s)' % len(users_to_sync) + + # Only trigger VCS provider re-sync tasks if --no-dry-run is provided + if no_dry_run: + users_to_sync = users.values_list('id', flat=True)[:max_users] + + self.stdout.write( + self.style.SUCCESS( + f'Triggering VCS provider re-sync task(s) for {len(users_to_sync)} user(s)' + ) ) - ) - for user_id in users_to_sync: - # Trigger Sync Remote Repository Tasks for users - sync_remote_repositories.apply_async( - args=[user_id], queue=queue + for user_id in users_to_sync: + # Trigger Sync Remote Repository Tasks for users + sync_remote_repositories.apply_async( + args=[user_id], queue=queue + ) + else: + self.stdout.write( + self.style.WARNING( + 'No VCS provider re-sync task was triggered. ' + 'Run it with --no-dry-run to trigger re-sync tasks.' + ) ) From 6b2f38a2138cb051d135f2aa0a8629f949705a66 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 12 Jan 2021 18:49:41 +0600 Subject: [PATCH 75/89] remove unwanted file --- db.json | 3088 ------------------------------------------------------- 1 file changed, 3088 deletions(-) delete mode 100644 db.json diff --git a/db.json b/db.json deleted file mode 100644 index b376aa7c0cd..00000000000 --- a/db.json +++ /dev/null @@ -1,3088 +0,0 @@ -[ -{ - "model": "auth.user", - "pk": 1, - "fields": { - "password": "pbkdf2_sha256$150000$1c7lMQ5bThiC$h9P/jHEpeIsoVjEn7TU594Hsd+K/8ZH+TOG4o91BN4k=", - "last_login": "2021-01-09T17:35:00.013Z", - "is_superuser": true, - "username": "admin", - "first_name": "", - "last_name": "", - "email": "", - "is_staff": true, - "is_active": true, - "date_joined": "2021-01-09T17:34:49.819Z", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "auth.user", - "pk": 2, - "fields": { - "password": "!Idx0nAbBe1b5sOIEkjbfZo7dOkU7Re3D9JCoj7RK", - "last_login": "2021-01-09T17:44:58.078Z", - "is_superuser": false, - "username": "saadmk11", - "first_name": "Maksudul", - "last_name": "Haque", - "email": "saad.mk112@gmail.com", - "is_staff": false, - "is_active": true, - "date_joined": "2021-01-09T17:44:54.810Z", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "auth.user", - "pk": 3, - "fields": { - "password": "!LSxWa9FnV8HgkbwvUKg44pK04gwDOkwMvSWdpyUM", - "last_login": "2021-01-09T17:45:14.683Z", - "is_superuser": false, - "username": "saadmk-test", - "first_name": "", - "last_name": "", - "email": "saad.mk114@gmail.com", - "is_staff": false, - "is_active": true, - "date_joined": "2021-01-09T17:45:07.895Z", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "auth.user", - "pk": 4, - "fields": { - "password": "!IQrB1EVGWkZQmbPshrt0320OFFVKmPsWOlqPXBRZ", - "last_login": "2021-01-09T17:45:30.236Z", - "is_superuser": false, - "username": "saadmk11-lab", - "first_name": "Maksudul", - "last_name": "Haque", - "email": "saad.mk11@hotmail.com", - "is_staff": false, - "is_active": true, - "date_joined": "2021-01-09T17:45:19.438Z", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "auth.user", - "pk": 5, - "fields": { - "password": "!YHdbLKAadgkPMF8ooSPoqFXSIl1XWYoNGrjVPkhR", - "last_login": "2021-01-09T17:45:51.079Z", - "is_superuser": false, - "username": "saadmk", - "first_name": "Maksudul", - "last_name": "Haque", - "email": "saad.mk1125@gmail.com", - "is_staff": false, - "is_active": true, - "date_joined": "2021-01-09T17:45:41.297Z", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "admin.logentry", - "pk": 1, - "fields": { - "action_time": "2021-01-09T17:35:25.664Z", - "user": 1, - "content_type": 53, - "object_id": "1", - "object_repr": "GitHub", - "action_flag": 1, - "change_message": "[{\"added\": {}}]" - } -}, -{ - "model": "admin.logentry", - "pk": 2, - "fields": { - "action_time": "2021-01-09T17:35:53.788Z", - "user": 1, - "content_type": 53, - "object_id": "2", - "object_repr": "GitLab", - "action_flag": 1, - "change_message": "[{\"added\": {}}]" - } -}, -{ - "model": "admin.logentry", - "pk": 3, - "fields": { - "action_time": "2021-01-09T17:36:29.188Z", - "user": 1, - "content_type": 53, - "object_id": "3", - "object_repr": "Bitbucket", - "action_flag": 1, - "change_message": "[{\"added\": {}}]" - } -}, -{ - "model": "sessions.session", - "pk": "1457ndu30xkqgjsvf8fe9n71fl123e6z", - "fields": { - "session_data": "ZjIxY2M2NGJmNjE1YjBjYmY1MzFmOGJjMGMyMzE0MTZmMzg1NTViZjp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiI0IiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiNjRjNGU2NjllNmUzZmJmMTNhYjNiMmMxMmZjYTg0MWU4MzUxNjAzZSJ9", - "expire_date": "2021-02-08T17:46:25.034Z" - } -}, -{ - "model": "sessions.session", - "pk": "7j5n70tj7aknmc3xw8i3z9gxee63dbqt", - "fields": { - "session_data": "OGNmZWY3OWQ1OWU4MzExZTJiMzI0YmM4MWQyMDEwMGIxNjViZDVkMjp7Il9hdXRoX3VzZXJfaWQiOiIxIiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiZGphbmdvLmNvbnRyaWIuYXV0aC5iYWNrZW5kcy5Nb2RlbEJhY2tlbmQiLCJfYXV0aF91c2VyX2hhc2giOiIwMGRiZGM2NDFhMmYwMjYxODE1YjRmNjQwZGQ5NGRjYjI4NjE3MGM4In0=", - "expire_date": "2021-02-08T17:36:29.597Z" - } -}, -{ - "model": "sessions.session", - "pk": "82g2h5kayrbklr86hwzj1jdjs149d2kq", - "fields": { - "session_data": "NTYyYTMyZDA0Y2FiMmU2YTJhMTdmZWNjMDkyMjE0YmE5NWVmZTkzNzp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiI1IiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiMTNlOTU2ODhiZDg3MTAwZGFlODMyMDQ3ZGRiYjUyMDgxMDlhZTU4OSJ9", - "expire_date": "2021-02-08T17:46:34.454Z" - } -}, -{ - "model": "sessions.session", - "pk": "99edwoea1rgtnhmbvfproxorz6xpsai7", - "fields": { - "session_data": "MDExMjViMzJiMjA4ZDBhMjA5NGZmODNlOGM3NDkxMmJmYWQzZjg4Mzp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiIyIiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiYjFmZjMxYWFmYzg4OTM2MTEyZWU4Njc3YWY1NTQ2NGIyMjJhMTAyNiJ9", - "expire_date": "2021-02-08T17:46:06.819Z" - } -}, -{ - "model": "sessions.session", - "pk": "c0yzc9mbngtw2azfh23zzebtsw239vd5", - "fields": { - "session_data": "ODczNmMxMzhjMmJlYjMxMGRhODFlM2E3Njk0ODIxZWE4ZDJmYzUwODp7InNvY2lhbGFjY291bnRfc3RhdGUiOlt7InByb2Nlc3MiOiJsb2dpbiIsInNjb3BlIjoiIiwiYXV0aF9wYXJhbXMiOiIifSwiTk45SVN0UEo2Wkx2Il19", - "expire_date": "2021-02-08T17:41:18.462Z" - } -}, -{ - "model": "sessions.session", - "pk": "rawqbxvqb9i5a08jpxumct7g3prig2jy", - "fields": { - "session_data": "ZmI0NjdmNTBhNDA4YzZmZDc2NjFlZDA3NWU2OWY3NTgyMjdjMjI2Yzp7ImFjY291bnRfdmVyaWZpZWRfZW1haWwiOm51bGwsIl9hdXRoX3VzZXJfaWQiOiIzIiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYWxsYXV0aC5hY2NvdW50LmF1dGhfYmFja2VuZHMuQXV0aGVudGljYXRpb25CYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiZThmMzI4N2VlOGM3MzJhM2Q2MTAwNjIyYTc2NTVmZGM5NDk2YzYxNyJ9", - "expire_date": "2021-02-08T17:46:14.365Z" - } -}, -{ - "model": "sites.site", - "pk": 1, - "fields": { - "domain": "example.com", - "name": "example.com" - } -}, -{ - "model": "messages_extends.message", - "pk": 1, - "fields": { - "user": 2, - "message": "Your primary email address is not verified. Please verify it here.", - "level": 41, - "extra_tags": "", - "created": "2021-01-09T17:44:58.959Z", - "modified": "2021-01-09T17:44:58.959Z", - "read": false, - "expires": null - } -}, -{ - "model": "messages_extends.message", - "pk": 2, - "fields": { - "user": 3, - "message": "Your primary email address is not verified. Please verify it here.", - "level": 41, - "extra_tags": "", - "created": "2021-01-09T17:45:15.553Z", - "modified": "2021-01-09T17:45:15.553Z", - "read": false, - "expires": null - } -}, -{ - "model": "messages_extends.message", - "pk": 3, - "fields": { - "user": 4, - "message": "Your primary email address is not verified. Please verify it here.", - "level": 41, - "extra_tags": "", - "created": "2021-01-09T17:45:31.084Z", - "modified": "2021-01-09T17:45:31.084Z", - "read": false, - "expires": null - } -}, -{ - "model": "messages_extends.message", - "pk": 4, - "fields": { - "user": 5, - "message": "Your primary email address is not verified. Please verify it here.", - "level": 41, - "extra_tags": "", - "created": "2021-01-09T17:45:51.927Z", - "modified": "2021-01-09T17:45:51.927Z", - "read": false, - "expires": null - } -}, -{ - "model": "projects.feature", - "pk": 1, - "fields": { - "feature_id": "allow_deprecated_webhooks", - "add_date": "2021-01-09T17:34:23.492Z", - "default_true": true, - "future_default_true": false, - "projects": [] - } -}, -{ - "model": "oauth.remoteorganization", - "pk": 1, - "fields": { - "pub_date": "2021-01-09T17:46:03.067Z", - "modified_date": "2021-01-09T17:46:03.082Z", - "account": 1, - "active": false, - "slug": "readthedocs", - "name": "Read the Docs", - "email": null, - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "url": "https://github.com/readthedocs", - "json": "{\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"url\": \"https://api.github.com/orgs/readthedocs\", \"repos_url\": \"https://api.github.com/orgs/readthedocs/repos\", \"events_url\": \"https://api.github.com/orgs/readthedocs/events\", \"hooks_url\": \"https://api.github.com/orgs/readthedocs/hooks\", \"issues_url\": \"https://api.github.com/orgs/readthedocs/issues\", \"members_url\": \"https://api.github.com/orgs/readthedocs/members{/member}\", \"public_members_url\": \"https://api.github.com/orgs/readthedocs/public_members{/member}\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"description\": \"\", \"name\": \"Read the Docs\", \"company\": null, \"blog\": \"http://readthedocs.org\", \"location\": \"Oregon & Worldwide\", \"email\": null, \"twitter_username\": null, \"is_verified\": false, \"has_organization_projects\": true, \"has_repository_projects\": true, \"public_repos\": 33, \"public_gists\": 0, \"followers\": 0, \"following\": 0, \"html_url\": \"https://github.com/readthedocs\", \"created_at\": \"2010-08-16T19:17:46Z\", \"updated_at\": \"2020-12-14T15:27:28Z\", \"type\": \"Organization\", \"total_private_repos\": 23, \"owned_private_repos\": 23, \"private_gists\": null, \"disk_usage\": null, \"collaborators\": null, \"billing_email\": null, \"default_repository_permission\": null, \"members_can_create_repositories\": true, \"two_factor_requirement_enabled\": null, \"members_can_create_pages\": true, \"plan\": {\"name\": \"team\", \"space\": 976562499, \"private_repos\": 999999, \"filled_seats\": 40, \"seats\": 24}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoteorganization", - "pk": 2, - "fields": { - "pub_date": "2021-01-09T17:46:17.404Z", - "modified_date": "2021-01-09T17:46:17.418Z", - "account": 3, - "active": false, - "slug": "rtd-permissions-tests", - "name": "rtd-permissions-tests", - "email": null, - "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", - "url": "https://gitlab.com/rtd-permissions-tests", - "json": "{\"id\": 10423247, \"web_url\": \"https://gitlab.com/groups/rtd-permissions-tests\", \"name\": \"rtd-permissions-tests\", \"path\": \"rtd-permissions-tests\", \"description\": \"\", \"visibility\": \"private\", \"share_with_group_lock\": false, \"require_two_factor_authentication\": false, \"two_factor_grace_period\": 48, \"project_creation_level\": \"developer\", \"auto_devops_enabled\": null, \"subgroup_creation_level\": \"maintainer\", \"emails_disabled\": null, \"mentions_disabled\": null, \"lfs_enabled\": true, \"default_branch_protection\": 2, \"avatar_url\": null, \"request_access_enabled\": true, \"full_name\": \"rtd-permissions-tests\", \"full_path\": \"rtd-permissions-tests\", \"created_at\": \"2020-12-16T17:12:45.437Z\", \"parent_id\": null, \"ldap_cn\": null, \"ldap_access\": null}", - "users": [ - 4 - ] - } -}, -{ - "model": "oauth.remoteorganization", - "pk": 3, - "fields": { - "pub_date": "2021-01-09T17:46:18.659Z", - "modified_date": "2021-01-09T17:46:18.676Z", - "account": 3, - "active": false, - "slug": "saadmk11-group", - "name": "saadmk11-group", - "email": null, - "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", - "url": "https://gitlab.com/saadmk11-group", - "json": "{\"id\": 10411125, \"web_url\": \"https://gitlab.com/groups/saadmk11-group\", \"name\": \"saadmk11-group\", \"path\": \"saadmk11-group\", \"description\": \"\", \"visibility\": \"public\", \"share_with_group_lock\": false, \"require_two_factor_authentication\": false, \"two_factor_grace_period\": 48, \"project_creation_level\": \"developer\", \"auto_devops_enabled\": null, \"subgroup_creation_level\": \"maintainer\", \"emails_disabled\": null, \"mentions_disabled\": null, \"lfs_enabled\": true, \"default_branch_protection\": 2, \"avatar_url\": null, \"request_access_enabled\": true, \"full_name\": \"saadmk11-group\", \"full_path\": \"saadmk11-group\", \"created_at\": \"2020-12-15T14:48:06.130Z\", \"parent_id\": null, \"ldap_cn\": null, \"ldap_access\": null}", - "users": [ - 4 - ] - } -}, -{ - "model": "oauth.remoteorganization", - "pk": 4, - "fields": { - "pub_date": "2021-01-09T17:46:19.929Z", - "modified_date": "2021-01-09T17:46:19.940Z", - "account": 3, - "active": false, - "slug": "thesmartlabs", - "name": "thesmartlabs", - "email": null, - "avatar_url": "https://gitlab.com/uploads/-/system/group/avatar/733016/14196019_1287354601305161_4273953876227814740_o-min.png", - "url": "https://gitlab.com/thesmartlabs", - "json": "{\"id\": 733016, \"web_url\": \"https://gitlab.com/groups/thesmartlabs\", \"name\": \"thesmartlabs\", \"path\": \"thesmartlabs\", \"description\": \"The Smart Labs\", \"visibility\": \"private\", \"share_with_group_lock\": false, \"require_two_factor_authentication\": false, \"two_factor_grace_period\": 48, \"project_creation_level\": \"developer\", \"auto_devops_enabled\": null, \"subgroup_creation_level\": \"owner\", \"emails_disabled\": null, \"mentions_disabled\": null, \"lfs_enabled\": true, \"default_branch_protection\": 2, \"avatar_url\": \"https://gitlab.com/uploads/-/system/group/avatar/733016/14196019_1287354601305161_4273953876227814740_o-min.png\", \"request_access_enabled\": true, \"full_name\": \"thesmartlabs\", \"full_path\": \"thesmartlabs\", \"created_at\": \"2016-07-13T13:31:37.685Z\", \"parent_id\": null, \"ldap_cn\": null, \"ldap_access\": null}", - "users": [ - 4 - ] - } -}, -{ - "model": "oauth.remoteorganization", - "pk": 5, - "fields": { - "pub_date": "2021-01-09T17:46:31.079Z", - "modified_date": "2021-01-09T17:46:31.094Z", - "account": 4, - "active": false, - "slug": "saadmk11-bitbucket-test", - "name": "test", - "email": null, - "avatar_url": "https://bitbucket.org/account/saadmk11-bitbucket-test/avatar/", - "url": "https://bitbucket.org/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/", - "json": "{\"username\": \"saadmk11-bitbucket-test\", \"display_name\": \"test\", \"uuid\": \"{df975040-4c28-47ce-ac1e-529aa8e80530}\", \"links\": {\"hooks\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/hooks\"}, \"self\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}, \"repositories\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/saadmk11-bitbucket-test/avatar/\"}, \"members\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/members\"}, \"projects\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/projects/\"}, \"snippets\": {\"href\": \"https://api.bitbucket.org/2.0/snippets/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}}, \"created_on\": \"2021-01-01T09:36:29.177489+00:00\", \"type\": \"team\", \"properties\": {}, \"has_2fa_enabled\": null}", - "users": [ - 5 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 1, - "fields": { - "pub_date": "2021-01-09T17:46:01.392Z", - "modified_date": "2021-01-09T17:46:04.868Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "readthedocs-sphinx-search", - "full_name": "readthedocs/readthedocs-sphinx-search", - "description": "Enable search-as-you-type feature for docs hosted by RTD.", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/readthedocs-sphinx-search.git", - "clone_url": "https://github.com/readthedocs/readthedocs-sphinx-search.git", - "html_url": "https://github.com/readthedocs/readthedocs-sphinx-search", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 190130026, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTAxMzAwMjY=\", \"name\": \"readthedocs-sphinx-search\", \"full_name\": \"readthedocs/readthedocs-sphinx-search\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-sphinx-search\", \"description\": \"Enable search-as-you-type feature for docs hosted by RTD.\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-search/deployments\", \"created_at\": \"2019-06-04T04:39:13Z\", \"updated_at\": \"2020-12-21T21:54:28Z\", \"pushed_at\": \"2021-01-06T18:10:33Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-sphinx-search.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-sphinx-search.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-sphinx-search.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-sphinx-search\", \"homepage\": \"https://readthedocs-sphinx-search.readthedocs.io/\", \"size\": 1746, \"stargazers_count\": 13, \"watchers_count\": 13, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 10, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 3, \"open_issues\": 10, \"watchers\": 13, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 2, - "fields": { - "pub_date": "2021-01-09T17:46:01.419Z", - "modified_date": "2021-01-09T17:46:04.419Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "readthedocs.org", - "full_name": "readthedocs/readthedocs.org", - "description": "The source code that powers readthedocs.org", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/readthedocs.org.git", - "clone_url": "https://github.com/readthedocs/readthedocs.org.git", - "html_url": "https://github.com/readthedocs/readthedocs.org", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 841835, \"node_id\": \"MDEwOlJlcG9zaXRvcnk4NDE4MzU=\", \"name\": \"readthedocs.org\", \"full_name\": \"readthedocs/readthedocs.org\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs.org\", \"description\": \"The source code that powers readthedocs.org\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs.org\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs.org/deployments\", \"created_at\": \"2010-08-16T19:18:06Z\", \"updated_at\": \"2021-01-09T02:06:07Z\", \"pushed_at\": \"2021-01-08T18:23:43Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs.org.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs.org.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs.org.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs.org\", \"homepage\": \"https://readthedocs.org/\", \"size\": 69101, \"stargazers_count\": 6265, \"watchers_count\": 6265, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 3291, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 322, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 3291, \"open_issues\": 322, \"watchers\": 6265, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 3, - "fields": { - "pub_date": "2021-01-09T17:46:01.440Z", - "modified_date": "2021-01-09T17:46:01.451Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "addons-server", - "full_name": "saadmk11/addons-server", - "description": "\ud83d\udd76 addons.mozilla.org Django app and API \ud83c\udf89", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/addons-server.git", - "clone_url": "https://github.com/saadmk11/addons-server.git", - "html_url": "https://github.com/saadmk11/addons-server", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 233437443, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzM0Mzc0NDM=\", \"name\": \"addons-server\", \"full_name\": \"saadmk11/addons-server\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/addons-server\", \"description\": \"\\ud83d\\udd76 addons.mozilla.org Django app and API \\ud83c\\udf89\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/addons-server\", \"forks_url\": \"https://api.github.com/repos/saadmk11/addons-server/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/addons-server/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/addons-server/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/addons-server/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/addons-server/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/addons-server/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/addons-server/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/addons-server/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/addons-server/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/addons-server/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/addons-server/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/addons-server/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/addons-server/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/addons-server/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/addons-server/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/addons-server/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/addons-server/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/addons-server/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/addons-server/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/addons-server/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/addons-server/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/addons-server/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/addons-server/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/addons-server/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/addons-server/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/addons-server/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/addons-server/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/addons-server/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/addons-server/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/addons-server/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/addons-server/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/addons-server/deployments\", \"created_at\": \"2020-01-12T18:18:38Z\", \"updated_at\": \"2020-01-12T18:18:40Z\", \"pushed_at\": \"2020-01-12T17:41:56Z\", \"git_url\": \"git://github.com/saadmk11/addons-server.git\", \"ssh_url\": \"git@github.com:saadmk11/addons-server.git\", \"clone_url\": \"https://github.com/saadmk11/addons-server.git\", \"svn_url\": \"https://github.com/saadmk11/addons-server\", \"homepage\": \"https://addons.mozilla.org/\", \"size\": 1087789, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-3-clause\", \"name\": \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\", \"spdx_id\": \"BSD-3-Clause\", \"url\": \"https://api.github.com/licenses/bsd-3-clause\", \"node_id\": \"MDc6TGljZW5zZTU=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 4, - "fields": { - "pub_date": "2021-01-09T17:46:01.460Z", - "modified_date": "2021-01-09T17:46:01.471Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "banking-system", - "full_name": "saadmk11/banking-system", - "description": "A banking System Created Using Django Python Web Framework", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/banking-system.git", - "clone_url": "https://github.com/saadmk11/banking-system.git", - "html_url": "https://github.com/saadmk11/banking-system", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 100115469, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDAxMTU0Njk=\", \"name\": \"banking-system\", \"full_name\": \"saadmk11/banking-system\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/banking-system\", \"description\": \"A banking System Created Using Django Python Web Framework\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/banking-system\", \"forks_url\": \"https://api.github.com/repos/saadmk11/banking-system/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/banking-system/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/banking-system/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/banking-system/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/banking-system/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/banking-system/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/banking-system/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/banking-system/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/banking-system/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/banking-system/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/banking-system/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/banking-system/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/banking-system/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/banking-system/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/banking-system/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/banking-system/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/banking-system/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/banking-system/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/banking-system/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/banking-system/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/banking-system/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/banking-system/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/banking-system/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/banking-system/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/banking-system/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/banking-system/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/banking-system/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/banking-system/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/banking-system/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/banking-system/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/banking-system/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/banking-system/deployments\", \"created_at\": \"2017-08-12T13:54:44Z\", \"updated_at\": \"2021-01-07T19:45:11Z\", \"pushed_at\": \"2020-12-19T09:13:56Z\", \"git_url\": \"git://github.com/saadmk11/banking-system.git\", \"ssh_url\": \"git@github.com:saadmk11/banking-system.git\", \"clone_url\": \"https://github.com/saadmk11/banking-system.git\", \"svn_url\": \"https://github.com/saadmk11/banking-system\", \"homepage\": \"\", \"size\": 780, \"stargazers_count\": 88, \"watchers_count\": 88, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 52, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 6, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 52, \"open_issues\": 6, \"watchers\": 88, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 5, - "fields": { - "pub_date": "2021-01-09T17:46:01.480Z", - "modified_date": "2021-01-09T17:46:01.491Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "be-hiring-challenge", - "full_name": "saadmk11/be-hiring-challenge", - "description": "Hiring Challenge for Backend Developers", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/be-hiring-challenge.git", - "clone_url": "https://github.com/saadmk11/be-hiring-challenge.git", - "html_url": "https://github.com/saadmk11/be-hiring-challenge", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 231739735, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzE3Mzk3MzU=\", \"name\": \"be-hiring-challenge\", \"full_name\": \"saadmk11/be-hiring-challenge\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/be-hiring-challenge\", \"description\": \"Hiring Challenge for Backend Developers\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge\", \"forks_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/be-hiring-challenge/deployments\", \"created_at\": \"2020-01-04T09:37:57Z\", \"updated_at\": \"2020-01-04T09:37:59Z\", \"pushed_at\": \"2020-01-04T11:40:27Z\", \"git_url\": \"git://github.com/saadmk11/be-hiring-challenge.git\", \"ssh_url\": \"git@github.com:saadmk11/be-hiring-challenge.git\", \"clone_url\": \"https://github.com/saadmk11/be-hiring-challenge.git\", \"svn_url\": \"https://github.com/saadmk11/be-hiring-challenge\", \"homepage\": null, \"size\": 20, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 6, - "fields": { - "pub_date": "2021-01-09T17:46:01.501Z", - "modified_date": "2021-01-09T17:46:01.512Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "bedrock", - "full_name": "saadmk11/bedrock", - "description": "Making mozilla.org awesome, one pebble at a time", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/bedrock.git", - "clone_url": "https://github.com/saadmk11/bedrock.git", - "html_url": "https://github.com/saadmk11/bedrock", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 272738429, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzI3Mzg0Mjk=\", \"name\": \"bedrock\", \"full_name\": \"saadmk11/bedrock\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/bedrock\", \"description\": \"Making mozilla.org awesome, one pebble at a time\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/bedrock\", \"forks_url\": \"https://api.github.com/repos/saadmk11/bedrock/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/bedrock/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/bedrock/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/bedrock/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/bedrock/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/bedrock/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/bedrock/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/bedrock/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/bedrock/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/bedrock/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/bedrock/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/bedrock/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/bedrock/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/bedrock/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/bedrock/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/bedrock/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/bedrock/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/bedrock/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/bedrock/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/bedrock/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/bedrock/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/bedrock/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/bedrock/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/bedrock/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/bedrock/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/bedrock/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/bedrock/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/bedrock/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/bedrock/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/bedrock/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/bedrock/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/bedrock/deployments\", \"created_at\": \"2020-06-16T15:01:47Z\", \"updated_at\": \"2020-06-16T15:01:49Z\", \"pushed_at\": \"2020-06-29T17:26:57Z\", \"git_url\": \"git://github.com/saadmk11/bedrock.git\", \"ssh_url\": \"git@github.com:saadmk11/bedrock.git\", \"clone_url\": \"https://github.com/saadmk11/bedrock.git\", \"svn_url\": \"https://github.com/saadmk11/bedrock\", \"homepage\": \"https://www.mozilla.org\", \"size\": 534652, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mpl-2.0\", \"name\": \"Mozilla Public License 2.0\", \"spdx_id\": \"MPL-2.0\", \"url\": \"https://api.github.com/licenses/mpl-2.0\", \"node_id\": \"MDc6TGljZW5zZTE0\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 7, - "fields": { - "pub_date": "2021-01-09T17:46:01.522Z", - "modified_date": "2021-01-09T17:46:01.533Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "blog", - "full_name": "saadmk11/blog", - "description": "Read the Docs blog", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/blog.git", - "clone_url": "https://github.com/saadmk11/blog.git", - "html_url": "https://github.com/saadmk11/blog", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 196700125, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTY3MDAxMjU=\", \"name\": \"blog\", \"full_name\": \"saadmk11/blog\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/blog\", \"description\": \"Read the Docs blog\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/blog\", \"forks_url\": \"https://api.github.com/repos/saadmk11/blog/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/blog/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/blog/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/blog/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/blog/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/blog/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/blog/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/blog/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/blog/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/blog/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/blog/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/blog/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/blog/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/blog/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/blog/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/blog/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/blog/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/blog/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/blog/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/blog/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/blog/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/blog/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/blog/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/blog/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/blog/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/blog/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/blog/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/blog/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/blog/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/blog/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/blog/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/blog/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/blog/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/blog/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/blog/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/blog/deployments\", \"created_at\": \"2019-07-13T08:53:44Z\", \"updated_at\": \"2019-07-13T08:53:47Z\", \"pushed_at\": \"2019-08-14T16:41:29Z\", \"git_url\": \"git://github.com/saadmk11/blog.git\", \"ssh_url\": \"git@github.com:saadmk11/blog.git\", \"clone_url\": \"https://github.com/saadmk11/blog.git\", \"svn_url\": \"https://github.com/saadmk11/blog\", \"homepage\": \"https://blog.readthedocs.com\", \"size\": 12837, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"CSS\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 8, - "fields": { - "pub_date": "2021-01-09T17:46:01.543Z", - "modified_date": "2021-01-09T17:46:01.553Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "cerebro", - "full_name": "saadmk11/cerebro", - "description": "Open-source productivity booster with a brain", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/cerebro.git", - "clone_url": "https://github.com/saadmk11/cerebro.git", - "html_url": "https://github.com/saadmk11/cerebro", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 181492569, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODE0OTI1Njk=\", \"name\": \"cerebro\", \"full_name\": \"saadmk11/cerebro\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/cerebro\", \"description\": \"Open-source productivity booster with a brain\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/cerebro\", \"forks_url\": \"https://api.github.com/repos/saadmk11/cerebro/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/cerebro/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/cerebro/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/cerebro/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/cerebro/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/cerebro/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/cerebro/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/cerebro/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/cerebro/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/cerebro/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/cerebro/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/cerebro/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/cerebro/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/cerebro/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/cerebro/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/cerebro/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/cerebro/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/cerebro/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/cerebro/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/cerebro/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/cerebro/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/cerebro/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/cerebro/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/cerebro/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/cerebro/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/cerebro/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/cerebro/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/cerebro/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/cerebro/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/cerebro/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/cerebro/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/cerebro/deployments\", \"created_at\": \"2019-04-15T13:28:09Z\", \"updated_at\": \"2019-04-15T13:28:11Z\", \"pushed_at\": \"2019-04-15T13:59:17Z\", \"git_url\": \"git://github.com/saadmk11/cerebro.git\", \"ssh_url\": \"git@github.com:saadmk11/cerebro.git\", \"clone_url\": \"https://github.com/saadmk11/cerebro.git\", \"svn_url\": \"https://github.com/saadmk11/cerebro\", \"homepage\": \"https://cerebroapp.com\", \"size\": 3529, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 9, - "fields": { - "pub_date": "2021-01-09T17:46:01.563Z", - "modified_date": "2021-01-09T17:46:01.573Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "changelog-ci", - "full_name": "saadmk11/changelog-ci", - "description": "Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/changelog-ci.git", - "clone_url": "https://github.com/saadmk11/changelog-ci.git", - "html_url": "https://github.com/saadmk11/changelog-ci", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 292240176, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTIyNDAxNzY=\", \"name\": \"changelog-ci\", \"full_name\": \"saadmk11/changelog-ci\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/changelog-ci\", \"description\": \"Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/changelog-ci\", \"forks_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/changelog-ci/deployments\", \"created_at\": \"2020-09-02T09:34:45Z\", \"updated_at\": \"2020-12-23T14:30:04Z\", \"pushed_at\": \"2020-12-09T07:19:09Z\", \"git_url\": \"git://github.com/saadmk11/changelog-ci.git\", \"ssh_url\": \"git@github.com:saadmk11/changelog-ci.git\", \"clone_url\": \"https://github.com/saadmk11/changelog-ci.git\", \"svn_url\": \"https://github.com/saadmk11/changelog-ci\", \"homepage\": \"https://github.com/marketplace/actions/changelog-ci\", \"size\": 83, \"stargazers_count\": 63, \"watchers_count\": 63, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 3, \"open_issues\": 2, \"watchers\": 63, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 10, - "fields": { - "pub_date": "2021-01-09T17:46:01.582Z", - "modified_date": "2021-01-09T17:46:01.593Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "coachPro", - "full_name": "saadmk11/coachPro", - "description": "Management System URL(http://jitindoriya.pythonanywhere.com/)", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/coachPro.git", - "clone_url": "https://github.com/saadmk11/coachPro.git", - "html_url": "https://github.com/saadmk11/coachPro", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 99428594, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5OTQyODU5NA==\", \"name\": \"coachPro\", \"full_name\": \"saadmk11/coachPro\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/coachPro\", \"description\": \"Management System URL(http://jitindoriya.pythonanywhere.com/)\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/coachPro\", \"forks_url\": \"https://api.github.com/repos/saadmk11/coachPro/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/coachPro/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/coachPro/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/coachPro/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/coachPro/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/coachPro/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/coachPro/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/coachPro/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/coachPro/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/coachPro/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/coachPro/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/coachPro/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/coachPro/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/coachPro/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/coachPro/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/coachPro/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/coachPro/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/coachPro/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/coachPro/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/coachPro/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/coachPro/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/coachPro/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/coachPro/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/coachPro/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/coachPro/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/coachPro/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/coachPro/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/coachPro/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/coachPro/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/coachPro/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/coachPro/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/coachPro/deployments\", \"created_at\": \"2017-08-05T14:44:52Z\", \"updated_at\": \"2017-08-05T14:44:54Z\", \"pushed_at\": \"2017-08-13T07:52:27Z\", \"git_url\": \"git://github.com/saadmk11/coachPro.git\", \"ssh_url\": \"git@github.com:saadmk11/coachPro.git\", \"clone_url\": \"https://github.com/saadmk11/coachPro.git\", \"svn_url\": \"https://github.com/saadmk11/coachPro\", \"homepage\": \"\", \"size\": 6124, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 11, - "fields": { - "pub_date": "2021-01-09T17:46:01.603Z", - "modified_date": "2021-01-09T17:46:01.614Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "code.djangoproject.com", - "full_name": "saadmk11/code.djangoproject.com", - "description": "Configuration for Django's Trac instance (code.djangoproject.com)", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/code.djangoproject.com.git", - "clone_url": "https://github.com/saadmk11/code.djangoproject.com.git", - "html_url": "https://github.com/saadmk11/code.djangoproject.com", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 234776231, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzQ3NzYyMzE=\", \"name\": \"code.djangoproject.com\", \"full_name\": \"saadmk11/code.djangoproject.com\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/code.djangoproject.com\", \"description\": \"Configuration for Django's Trac instance (code.djangoproject.com)\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com\", \"forks_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/code.djangoproject.com/deployments\", \"created_at\": \"2020-01-18T18:11:39Z\", \"updated_at\": \"2020-01-18T18:11:40Z\", \"pushed_at\": \"2020-01-03T12:07:34Z\", \"git_url\": \"git://github.com/saadmk11/code.djangoproject.com.git\", \"ssh_url\": \"git@github.com:saadmk11/code.djangoproject.com.git\", \"clone_url\": \"https://github.com/saadmk11/code.djangoproject.com.git\", \"svn_url\": \"https://github.com/saadmk11/code.djangoproject.com\", \"homepage\": null, \"size\": 2039, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 12, - "fields": { - "pub_date": "2021-01-09T17:46:01.624Z", - "modified_date": "2021-01-09T17:46:01.635Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django", - "full_name": "saadmk11/django", - "description": "The Web framework for perfectionists with deadlines.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django.git", - "clone_url": "https://github.com/saadmk11/django.git", - "html_url": "https://github.com/saadmk11/django", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 97323645, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5NzMyMzY0NQ==\", \"name\": \"django\", \"full_name\": \"saadmk11/django\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django\", \"description\": \"The Web framework for perfectionists with deadlines.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django/deployments\", \"created_at\": \"2017-07-15T15:11:40Z\", \"updated_at\": \"2017-07-15T15:12:07Z\", \"pushed_at\": \"2017-07-15T14:36:35Z\", \"git_url\": \"git://github.com/saadmk11/django.git\", \"ssh_url\": \"git@github.com:saadmk11/django.git\", \"clone_url\": \"https://github.com/saadmk11/django.git\", \"svn_url\": \"https://github.com/saadmk11/django\", \"homepage\": \"https://www.djangoproject.com/\", \"size\": 165694, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 13, - "fields": { - "pub_date": "2021-01-09T17:46:01.644Z", - "modified_date": "2021-01-09T17:46:01.655Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-elasticsearch-dsl", - "full_name": "saadmk11/django-elasticsearch-dsl", - "description": "This is a package that allows indexing of django models in elasticsearch with elasticsearch-dsl-py.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-elasticsearch-dsl.git", - "clone_url": "https://github.com/saadmk11/django-elasticsearch-dsl.git", - "html_url": "https://github.com/saadmk11/django-elasticsearch-dsl", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 116172312, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTYxNzIzMTI=\", \"name\": \"django-elasticsearch-dsl\", \"full_name\": \"saadmk11/django-elasticsearch-dsl\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-elasticsearch-dsl\", \"description\": \"This is a package that allows indexing of django models in elasticsearch with elasticsearch-dsl-py.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-elasticsearch-dsl/deployments\", \"created_at\": \"2018-01-03T19:10:15Z\", \"updated_at\": \"2020-06-19T15:10:09Z\", \"pushed_at\": \"2017-12-15T13:47:00Z\", \"git_url\": \"git://github.com/saadmk11/django-elasticsearch-dsl.git\", \"ssh_url\": \"git@github.com:saadmk11/django-elasticsearch-dsl.git\", \"clone_url\": \"https://github.com/saadmk11/django-elasticsearch-dsl.git\", \"svn_url\": \"https://github.com/saadmk11/django-elasticsearch-dsl\", \"homepage\": null, \"size\": 108, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 14, - "fields": { - "pub_date": "2021-01-09T17:46:01.665Z", - "modified_date": "2021-01-09T17:46:01.675Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-import-export", - "full_name": "saadmk11/django-import-export", - "description": "Django application and library for importing and exporting data with admin integration.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-import-export.git", - "clone_url": "https://github.com/saadmk11/django-import-export.git", - "html_url": "https://github.com/saadmk11/django-import-export", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 251055239, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNTEwNTUyMzk=\", \"name\": \"django-import-export\", \"full_name\": \"saadmk11/django-import-export\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-import-export\", \"description\": \"Django application and library for importing and exporting data with admin integration.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-import-export\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-import-export/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-import-export/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-import-export/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-import-export/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-import-export/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-import-export/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-import-export/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-import-export/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-import-export/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-import-export/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-import-export/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-import-export/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-import-export/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-import-export/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-import-export/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-import-export/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-import-export/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-import-export/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-import-export/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-import-export/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-import-export/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-import-export/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-import-export/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-import-export/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-import-export/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-import-export/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-import-export/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-import-export/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-import-export/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-import-export/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-import-export/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-import-export/deployments\", \"created_at\": \"2020-03-29T14:43:40Z\", \"updated_at\": \"2020-03-29T14:43:42Z\", \"pushed_at\": \"2020-03-29T14:45:01Z\", \"git_url\": \"git://github.com/saadmk11/django-import-export.git\", \"ssh_url\": \"git@github.com:saadmk11/django-import-export.git\", \"clone_url\": \"https://github.com/saadmk11/django-import-export.git\", \"svn_url\": \"https://github.com/saadmk11/django-import-export\", \"homepage\": \"https://django-import-export.readthedocs.org/en/latest/\", \"size\": 2067, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-2-clause\", \"name\": \"BSD 2-Clause \\\"Simplified\\\" License\", \"spdx_id\": \"BSD-2-Clause\", \"url\": \"https://api.github.com/licenses/bsd-2-clause\", \"node_id\": \"MDc6TGljZW5zZTQ=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 15, - "fields": { - "pub_date": "2021-01-09T17:46:01.685Z", - "modified_date": "2021-01-09T17:46:01.695Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-newsfeed", - "full_name": "saadmk11/django-newsfeed", - "description": "A news curator and newsletter subscription package for Django", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-newsfeed.git", - "clone_url": "https://github.com/saadmk11/django-newsfeed.git", - "html_url": "https://github.com/saadmk11/django-newsfeed", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 289010521, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyODkwMTA1MjE=\", \"name\": \"django-newsfeed\", \"full_name\": \"saadmk11/django-newsfeed\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-newsfeed\", \"description\": \"A news curator and newsletter subscription package for Django\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/django-newsfeed\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-newsfeed/deployments\", \"created_at\": \"2020-08-20T13:14:37Z\", \"updated_at\": \"2020-12-24T04:57:25Z\", \"pushed_at\": \"2020-12-21T08:13:42Z\", \"git_url\": \"git://github.com/saadmk11/django-newsfeed.git\", \"ssh_url\": \"git@github.com:saadmk11/django-newsfeed.git\", \"clone_url\": \"https://github.com/saadmk11/django-newsfeed.git\", \"svn_url\": \"https://github.com/saadmk11/django-newsfeed\", \"homepage\": \"https://pypi.org/project/django-newsfeed/\", \"size\": 107, \"stargazers_count\": 145, \"watchers_count\": 145, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 8, \"open_issues\": 1, \"watchers\": 145, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 16, - "fields": { - "pub_date": "2021-01-09T17:46:01.702Z", - "modified_date": "2021-01-09T17:46:01.709Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-organizations", - "full_name": "saadmk11/django-organizations", - "description": ":couple: Multi-user accounts for Django projects", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-organizations.git", - "clone_url": "https://github.com/saadmk11/django-organizations.git", - "html_url": "https://github.com/saadmk11/django-organizations", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "dev", - "json": "{\"id\": 127004776, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjcwMDQ3NzY=\", \"name\": \"django-organizations\", \"full_name\": \"saadmk11/django-organizations\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-organizations\", \"description\": \":couple: Multi-user accounts for Django projects\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-organizations\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-organizations/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-organizations/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-organizations/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-organizations/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-organizations/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-organizations/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-organizations/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-organizations/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-organizations/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-organizations/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-organizations/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-organizations/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-organizations/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-organizations/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-organizations/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-organizations/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-organizations/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-organizations/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-organizations/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-organizations/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-organizations/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-organizations/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-organizations/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-organizations/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-organizations/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-organizations/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-organizations/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-organizations/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-organizations/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-organizations/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-organizations/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-organizations/deployments\", \"created_at\": \"2018-03-27T15:06:19Z\", \"updated_at\": \"2018-03-27T15:06:21Z\", \"pushed_at\": \"2018-02-16T18:44:32Z\", \"git_url\": \"git://github.com/saadmk11/django-organizations.git\", \"ssh_url\": \"git@github.com:saadmk11/django-organizations.git\", \"clone_url\": \"https://github.com/saadmk11/django-organizations.git\", \"svn_url\": \"https://github.com/saadmk11/django-organizations\", \"homepage\": \"http://django-organizations.readthedocs.org/\", \"size\": 712, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-2-clause\", \"name\": \"BSD 2-Clause \\\"Simplified\\\" License\", \"spdx_id\": \"BSD-2-Clause\", \"url\": \"https://api.github.com/licenses/bsd-2-clause\", \"node_id\": \"MDc6TGljZW5zZTQ=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"dev\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 17, - "fields": { - "pub_date": "2021-01-09T17:46:01.717Z", - "modified_date": "2021-01-09T17:46:01.728Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-rest-framework", - "full_name": "saadmk11/django-rest-framework", - "description": "Web APIs for Django.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-rest-framework.git", - "clone_url": "https://github.com/saadmk11/django-rest-framework.git", - "html_url": "https://github.com/saadmk11/django-rest-framework", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 125860820, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjU4NjA4MjA=\", \"name\": \"django-rest-framework\", \"full_name\": \"saadmk11/django-rest-framework\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-rest-framework\", \"description\": \"Web APIs for Django.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-rest-framework\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework/deployments\", \"created_at\": \"2018-03-19T13:20:41Z\", \"updated_at\": \"2018-03-19T13:20:45Z\", \"pushed_at\": \"2018-03-19T10:02:43Z\", \"git_url\": \"git://github.com/saadmk11/django-rest-framework.git\", \"ssh_url\": \"git@github.com:saadmk11/django-rest-framework.git\", \"clone_url\": \"https://github.com/saadmk11/django-rest-framework.git\", \"svn_url\": \"https://github.com/saadmk11/django-rest-framework\", \"homepage\": \"www.django-rest-framework.org\", \"size\": 37783, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 18, - "fields": { - "pub_date": "2021-01-09T17:46:01.738Z", - "modified_date": "2021-01-09T17:46:01.749Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-rest-framework-simplejwt", - "full_name": "saadmk11/django-rest-framework-simplejwt", - "description": "A JSON Web Token authentication plugin for the Django REST Framework.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-rest-framework-simplejwt.git", - "clone_url": "https://github.com/saadmk11/django-rest-framework-simplejwt.git", - "html_url": "https://github.com/saadmk11/django-rest-framework-simplejwt", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 298503563, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1MDM1NjM=\", \"name\": \"django-rest-framework-simplejwt\", \"full_name\": \"saadmk11/django-rest-framework-simplejwt\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-rest-framework-simplejwt\", \"description\": \"A JSON Web Token authentication plugin for the Django REST Framework.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-rest-framework-simplejwt/deployments\", \"created_at\": \"2020-09-25T07:42:17Z\", \"updated_at\": \"2020-09-25T07:42:21Z\", \"pushed_at\": \"2020-12-22T05:59:39Z\", \"git_url\": \"git://github.com/saadmk11/django-rest-framework-simplejwt.git\", \"ssh_url\": \"git@github.com:saadmk11/django-rest-framework-simplejwt.git\", \"clone_url\": \"https://github.com/saadmk11/django-rest-framework-simplejwt.git\", \"svn_url\": \"https://github.com/saadmk11/django-rest-framework-simplejwt\", \"homepage\": \"https://django-rest-framework-simplejwt.readthedocs.io/\", \"size\": 456, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 19, - "fields": { - "pub_date": "2021-01-09T17:46:01.760Z", - "modified_date": "2021-01-09T17:46:01.770Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-select2", - "full_name": "saadmk11/django-select2", - "description": "This is a Django integration for Select2", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-select2.git", - "clone_url": "https://github.com/saadmk11/django-select2.git", - "html_url": "https://github.com/saadmk11/django-select2", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 115425389, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTU0MjUzODk=\", \"name\": \"django-select2\", \"full_name\": \"saadmk11/django-select2\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-select2\", \"description\": \"This is a Django integration for Select2\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-select2\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-select2/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-select2/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-select2/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-select2/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-select2/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-select2/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-select2/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-select2/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-select2/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-select2/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-select2/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-select2/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-select2/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-select2/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-select2/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-select2/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-select2/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-select2/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-select2/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-select2/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-select2/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-select2/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-select2/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-select2/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-select2/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-select2/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-select2/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-select2/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-select2/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-select2/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-select2/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-select2/deployments\", \"created_at\": \"2017-12-26T13:39:45Z\", \"updated_at\": \"2017-12-26T13:39:46Z\", \"pushed_at\": \"2017-11-25T17:57:41Z\", \"git_url\": \"git://github.com/saadmk11/django-select2.git\", \"ssh_url\": \"git@github.com:saadmk11/django-select2.git\", \"clone_url\": \"https://github.com/saadmk11/django-select2.git\", \"svn_url\": \"https://github.com/saadmk11/django-select2\", \"homepage\": \"\", \"size\": 8013, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 20, - "fields": { - "pub_date": "2021-01-09T17:46:01.779Z", - "modified_date": "2021-01-09T17:46:01.790Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-todo", - "full_name": "saadmk11/django-todo", - "description": "Django Todo List API with Firebase Firestore Database", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-todo.git", - "clone_url": "https://github.com/saadmk11/django-todo.git", - "html_url": "https://github.com/saadmk11/django-todo", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 317289794, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMTcyODk3OTQ=\", \"name\": \"django-todo\", \"full_name\": \"saadmk11/django-todo\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-todo\", \"description\": \"Django Todo List API with Firebase Firestore Database\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/django-todo\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-todo/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-todo/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-todo/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-todo/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-todo/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-todo/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-todo/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-todo/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-todo/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-todo/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-todo/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-todo/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-todo/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-todo/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-todo/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-todo/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-todo/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-todo/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-todo/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-todo/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-todo/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-todo/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-todo/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-todo/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-todo/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-todo/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-todo/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-todo/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-todo/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-todo/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-todo/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-todo/deployments\", \"created_at\": \"2020-11-30T16:58:38Z\", \"updated_at\": \"2020-12-03T14:51:30Z\", \"pushed_at\": \"2020-12-03T14:51:28Z\", \"git_url\": \"git://github.com/saadmk11/django-todo.git\", \"ssh_url\": \"git@github.com:saadmk11/django-todo.git\", \"clone_url\": \"https://github.com/saadmk11/django-todo.git\", \"svn_url\": \"https://github.com/saadmk11/django-todo\", \"homepage\": \"\", \"size\": 8, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 21, - "fields": { - "pub_date": "2021-01-09T17:46:01.800Z", - "modified_date": "2021-01-09T17:46:01.810Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django-webpush", - "full_name": "saadmk11/django-webpush", - "description": "Web Push Notification Package for Django", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django-webpush.git", - "clone_url": "https://github.com/saadmk11/django-webpush.git", - "html_url": "https://github.com/saadmk11/django-webpush", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 288185732, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyODgxODU3MzI=\", \"name\": \"django-webpush\", \"full_name\": \"saadmk11/django-webpush\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django-webpush\", \"description\": \"Web Push Notification Package for Django\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/django-webpush\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django-webpush/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django-webpush/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django-webpush/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django-webpush/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django-webpush/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django-webpush/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django-webpush/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django-webpush/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django-webpush/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django-webpush/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django-webpush/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django-webpush/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django-webpush/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django-webpush/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django-webpush/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django-webpush/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django-webpush/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django-webpush/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django-webpush/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django-webpush/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django-webpush/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django-webpush/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django-webpush/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django-webpush/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django-webpush/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django-webpush/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django-webpush/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django-webpush/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django-webpush/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django-webpush/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django-webpush/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django-webpush/deployments\", \"created_at\": \"2020-08-17T13:20:12Z\", \"updated_at\": \"2020-08-17T13:20:14Z\", \"pushed_at\": \"2020-07-05T07:42:44Z\", \"git_url\": \"git://github.com/saadmk11/django-webpush.git\", \"ssh_url\": \"git@github.com:saadmk11/django-webpush.git\", \"clone_url\": \"https://github.com/saadmk11/django-webpush.git\", \"svn_url\": \"https://github.com/saadmk11/django-webpush\", \"homepage\": null, \"size\": 81, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 22, - "fields": { - "pub_date": "2021-01-09T17:46:01.817Z", - "modified_date": "2021-01-09T17:46:01.825Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "djangoproject.com", - "full_name": "saadmk11/djangoproject.com", - "description": "Source code to djangoproject.com", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/djangoproject.com.git", - "clone_url": "https://github.com/saadmk11/djangoproject.com.git", - "html_url": "https://github.com/saadmk11/djangoproject.com", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 100934927, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDA5MzQ5Mjc=\", \"name\": \"djangoproject.com\", \"full_name\": \"saadmk11/djangoproject.com\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/djangoproject.com\", \"description\": \"Source code to djangoproject.com\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/djangoproject.com\", \"forks_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/djangoproject.com/deployments\", \"created_at\": \"2017-08-21T09:16:34Z\", \"updated_at\": \"2019-05-22T15:52:00Z\", \"pushed_at\": \"2019-06-29T08:40:24Z\", \"git_url\": \"git://github.com/saadmk11/djangoproject.com.git\", \"ssh_url\": \"git@github.com:saadmk11/djangoproject.com.git\", \"clone_url\": \"https://github.com/saadmk11/djangoproject.com.git\", \"svn_url\": \"https://github.com/saadmk11/djangoproject.com\", \"homepage\": \"https://www.djangoproject.com/\", \"size\": 15250, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"PostScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 23, - "fields": { - "pub_date": "2021-01-09T17:46:01.832Z", - "modified_date": "2021-01-09T17:46:01.840Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "django_excel_input", - "full_name": "saadmk11/django_excel_input", - "description": "Upload Excel File to Django Database", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/django_excel_input.git", - "clone_url": "https://github.com/saadmk11/django_excel_input.git", - "html_url": "https://github.com/saadmk11/django_excel_input", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 114773341, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTQ3NzMzNDE=\", \"name\": \"django_excel_input\", \"full_name\": \"saadmk11/django_excel_input\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/django_excel_input\", \"description\": \"Upload Excel File to Django Database\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/django_excel_input\", \"forks_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/django_excel_input/deployments\", \"created_at\": \"2017-12-19T14:15:19Z\", \"updated_at\": \"2018-12-21T16:07:16Z\", \"pushed_at\": \"2017-12-19T14:22:51Z\", \"git_url\": \"git://github.com/saadmk11/django_excel_input.git\", \"ssh_url\": \"git@github.com:saadmk11/django_excel_input.git\", \"clone_url\": \"https://github.com/saadmk11/django_excel_input.git\", \"svn_url\": \"https://github.com/saadmk11/django_excel_input\", \"homepage\": null, \"size\": 16, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 4, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 4, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 24, - "fields": { - "pub_date": "2021-01-09T17:46:01.847Z", - "modified_date": "2021-01-09T17:46:01.854Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "dropbox-sdk-python", - "full_name": "saadmk11/dropbox-sdk-python", - "description": "Python SDK for Dropbox API v2.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/dropbox-sdk-python.git", - "clone_url": "https://github.com/saadmk11/dropbox-sdk-python.git", - "html_url": "https://github.com/saadmk11/dropbox-sdk-python", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 118485155, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTg0ODUxNTU=\", \"name\": \"dropbox-sdk-python\", \"full_name\": \"saadmk11/dropbox-sdk-python\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/dropbox-sdk-python\", \"description\": \"Python SDK for Dropbox API v2.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python\", \"forks_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/dropbox-sdk-python/deployments\", \"created_at\": \"2018-01-22T16:42:34Z\", \"updated_at\": \"2018-01-22T16:42:37Z\", \"pushed_at\": \"2018-01-18T00:28:22Z\", \"git_url\": \"git://github.com/saadmk11/dropbox-sdk-python.git\", \"ssh_url\": \"git@github.com:saadmk11/dropbox-sdk-python.git\", \"clone_url\": \"https://github.com/saadmk11/dropbox-sdk-python.git\", \"svn_url\": \"https://github.com/saadmk11/dropbox-sdk-python\", \"homepage\": \"\", \"size\": 3571, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 25, - "fields": { - "pub_date": "2021-01-09T17:46:01.861Z", - "modified_date": "2021-01-09T17:46:01.869Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "dspace-rest-requests", - "full_name": "saadmk11/dspace-rest-requests", - "description": "Clone of: Bruno Nocera Zanette's https://gitlab.c3sl.ufpr.br/bnzanette/dspace-rest-requests I was doing some tests to prepare myself to write API's documentation, and to make it easier i've wrote some short scripts that implement all POST/PUT requests. It contains a script to execute each request, and descriptor files that describes each request (Verb, Action, and the request form itself). It's not very useful but it may help people that are struggling to use REST-API until the documentation is not ready. ", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/dspace-rest-requests.git", - "clone_url": "https://github.com/saadmk11/dspace-rest-requests.git", - "html_url": "https://github.com/saadmk11/dspace-rest-requests", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 113699004, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTM2OTkwMDQ=\", \"name\": \"dspace-rest-requests\", \"full_name\": \"saadmk11/dspace-rest-requests\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/dspace-rest-requests\", \"description\": \"Clone of: Bruno Nocera Zanette's https://gitlab.c3sl.ufpr.br/bnzanette/dspace-rest-requests I was doing some tests to prepare myself to write API's documentation, and to make it easier i've wrote some short scripts that implement all POST/PUT requests. It contains a script to execute each request, and descriptor files that describes each request (Verb, Action, and the request form itself). It's not very useful but it may help people that are struggling to use REST-API until the documentation is not ready. \", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests\", \"forks_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/dspace-rest-requests/deployments\", \"created_at\": \"2017-12-09T20:27:13Z\", \"updated_at\": \"2017-12-09T20:27:15Z\", \"pushed_at\": \"2017-11-03T18:31:41Z\", \"git_url\": \"git://github.com/saadmk11/dspace-rest-requests.git\", \"ssh_url\": \"git@github.com:saadmk11/dspace-rest-requests.git\", \"clone_url\": \"https://github.com/saadmk11/dspace-rest-requests.git\", \"svn_url\": \"https://github.com/saadmk11/dspace-rest-requests\", \"homepage\": null, \"size\": 98, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Shell\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 26, - "fields": { - "pub_date": "2021-01-09T17:46:01.875Z", - "modified_date": "2021-01-09T17:46:01.884Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "github-notifier-messenger-bot", - "full_name": "saadmk11/github-notifier-messenger-bot", - "description": "This is a messenger bot which will send message if there is any changes in users github repository", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/github-notifier-messenger-bot.git", - "clone_url": "https://github.com/saadmk11/github-notifier-messenger-bot.git", - "html_url": "https://github.com/saadmk11/github-notifier-messenger-bot", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 180400763, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODA0MDA3NjM=\", \"name\": \"github-notifier-messenger-bot\", \"full_name\": \"saadmk11/github-notifier-messenger-bot\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/github-notifier-messenger-bot\", \"description\": \"This is a messenger bot which will send message if there is any changes in users github repository\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot\", \"forks_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/github-notifier-messenger-bot/deployments\", \"created_at\": \"2019-04-09T15:47:10Z\", \"updated_at\": \"2019-05-01T12:30:52Z\", \"pushed_at\": \"2019-05-01T12:30:50Z\", \"git_url\": \"git://github.com/saadmk11/github-notifier-messenger-bot.git\", \"ssh_url\": \"git@github.com:saadmk11/github-notifier-messenger-bot.git\", \"clone_url\": \"https://github.com/saadmk11/github-notifier-messenger-bot.git\", \"svn_url\": \"https://github.com/saadmk11/github-notifier-messenger-bot\", \"homepage\": null, \"size\": 26, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 27, - "fields": { - "pub_date": "2021-01-09T17:46:01.891Z", - "modified_date": "2021-01-09T17:46:01.899Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "image_downloader", - "full_name": "saadmk11/image_downloader", - "description": "An Image Downloader which Downloads Images from Text File Containing URLs using Python", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/image_downloader.git", - "clone_url": "https://github.com/saadmk11/image_downloader.git", - "html_url": "https://github.com/saadmk11/image_downloader", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 171930951, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNzE5MzA5NTE=\", \"name\": \"image_downloader\", \"full_name\": \"saadmk11/image_downloader\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/image_downloader\", \"description\": \"An Image Downloader which Downloads Images from Text File Containing URLs using Python\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/image_downloader\", \"forks_url\": \"https://api.github.com/repos/saadmk11/image_downloader/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/image_downloader/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/image_downloader/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/image_downloader/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/image_downloader/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/image_downloader/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/image_downloader/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/image_downloader/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/image_downloader/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/image_downloader/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/image_downloader/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/image_downloader/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/image_downloader/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/image_downloader/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/image_downloader/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/image_downloader/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/image_downloader/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/image_downloader/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/image_downloader/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/image_downloader/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/image_downloader/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/image_downloader/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/image_downloader/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/image_downloader/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/image_downloader/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/image_downloader/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/image_downloader/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/image_downloader/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/image_downloader/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/image_downloader/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/image_downloader/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/image_downloader/deployments\", \"created_at\": \"2019-02-21T19:21:09Z\", \"updated_at\": \"2019-02-21T19:35:12Z\", \"pushed_at\": \"2019-02-21T19:35:08Z\", \"git_url\": \"git://github.com/saadmk11/image_downloader.git\", \"ssh_url\": \"git@github.com:saadmk11/image_downloader.git\", \"clone_url\": \"https://github.com/saadmk11/image_downloader.git\", \"svn_url\": \"https://github.com/saadmk11/image_downloader\", \"homepage\": null, \"size\": 3, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 28, - "fields": { - "pub_date": "2021-01-09T17:46:01.906Z", - "modified_date": "2021-01-09T17:46:01.914Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "janeway", - "full_name": "saadmk11/janeway", - "description": "A journal management system designed for publishing scholarly articles.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/janeway.git", - "clone_url": "https://github.com/saadmk11/janeway.git", - "html_url": "https://github.com/saadmk11/janeway", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 127109433, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjcxMDk0MzM=\", \"name\": \"janeway\", \"full_name\": \"saadmk11/janeway\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/janeway\", \"description\": \"A journal management system designed for publishing scholarly articles.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/janeway\", \"forks_url\": \"https://api.github.com/repos/saadmk11/janeway/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/janeway/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/janeway/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/janeway/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/janeway/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/janeway/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/janeway/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/janeway/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/janeway/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/janeway/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/janeway/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/janeway/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/janeway/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/janeway/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/janeway/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/janeway/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/janeway/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/janeway/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/janeway/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/janeway/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/janeway/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/janeway/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/janeway/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/janeway/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/janeway/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/janeway/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/janeway/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/janeway/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/janeway/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/janeway/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/janeway/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/janeway/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/janeway/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/janeway/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/janeway/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/janeway/deployments\", \"created_at\": \"2018-03-28T08:32:41Z\", \"updated_at\": \"2018-03-28T08:32:45Z\", \"pushed_at\": \"2018-03-27T11:41:54Z\", \"git_url\": \"git://github.com/saadmk11/janeway.git\", \"ssh_url\": \"git@github.com:saadmk11/janeway.git\", \"clone_url\": \"https://github.com/saadmk11/janeway.git\", \"svn_url\": \"https://github.com/saadmk11/janeway\", \"homepage\": \"\", \"size\": 22697, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"agpl-3.0\", \"name\": \"GNU Affero General Public License v3.0\", \"spdx_id\": \"AGPL-3.0\", \"url\": \"https://api.github.com/licenses/agpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTE=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 29, - "fields": { - "pub_date": "2021-01-09T17:46:01.921Z", - "modified_date": "2021-01-09T17:46:01.929Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "kitsune", - "full_name": "saadmk11/kitsune", - "description": "Platform for Mozilla Support", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/kitsune.git", - "clone_url": "https://github.com/saadmk11/kitsune.git", - "html_url": "https://github.com/saadmk11/kitsune", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 233389757, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzMzODk3NTc=\", \"name\": \"kitsune\", \"full_name\": \"saadmk11/kitsune\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/kitsune\", \"description\": \"Platform for Mozilla Support\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/kitsune\", \"forks_url\": \"https://api.github.com/repos/saadmk11/kitsune/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/kitsune/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/kitsune/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/kitsune/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/kitsune/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/kitsune/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/kitsune/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/kitsune/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/kitsune/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/kitsune/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/kitsune/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/kitsune/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/kitsune/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/kitsune/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/kitsune/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/kitsune/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/kitsune/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/kitsune/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/kitsune/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/kitsune/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/kitsune/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/kitsune/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/kitsune/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/kitsune/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/kitsune/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/kitsune/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/kitsune/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/kitsune/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/kitsune/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/kitsune/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/kitsune/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/kitsune/deployments\", \"created_at\": \"2020-01-12T12:34:18Z\", \"updated_at\": \"2020-01-15T12:51:52Z\", \"pushed_at\": \"2020-08-19T10:09:07Z\", \"git_url\": \"git://github.com/saadmk11/kitsune.git\", \"ssh_url\": \"git@github.com:saadmk11/kitsune.git\", \"clone_url\": \"https://github.com/saadmk11/kitsune.git\", \"svn_url\": \"https://github.com/saadmk11/kitsune\", \"homepage\": \"https://support.mozilla.org/\", \"size\": 131238, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": false, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"bsd-3-clause\", \"name\": \"BSD 3-Clause \\\"New\\\" or \\\"Revised\\\" License\", \"spdx_id\": \"BSD-3-Clause\", \"url\": \"https://api.github.com/licenses/bsd-3-clause\", \"node_id\": \"MDc6TGljZW5zZTU=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 30, - "fields": { - "pub_date": "2021-01-09T17:46:01.936Z", - "modified_date": "2021-01-09T17:46:01.944Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "name-letter-picture-generator", - "full_name": "saadmk11/name-letter-picture-generator", - "description": "Create YouTube, Skype style profile picture using first letter of the name with random background color.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/name-letter-picture-generator.git", - "clone_url": "https://github.com/saadmk11/name-letter-picture-generator.git", - "html_url": "https://github.com/saadmk11/name-letter-picture-generator", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 115557244, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTU1NTcyNDQ=\", \"name\": \"name-letter-picture-generator\", \"full_name\": \"saadmk11/name-letter-picture-generator\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/name-letter-picture-generator\", \"description\": \"Create YouTube, Skype style profile picture using first letter of the name with random background color.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator\", \"forks_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/name-letter-picture-generator/deployments\", \"created_at\": \"2017-12-27T21:00:44Z\", \"updated_at\": \"2020-08-09T18:44:48Z\", \"pushed_at\": \"2017-12-28T18:52:15Z\", \"git_url\": \"git://github.com/saadmk11/name-letter-picture-generator.git\", \"ssh_url\": \"git@github.com:saadmk11/name-letter-picture-generator.git\", \"clone_url\": \"https://github.com/saadmk11/name-letter-picture-generator.git\", \"svn_url\": \"https://github.com/saadmk11/name-letter-picture-generator\", \"homepage\": null, \"size\": 98, \"stargazers_count\": 3, \"watchers_count\": 3, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 3, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 31, - "fields": { - "pub_date": "2021-01-09T17:46:01.951Z", - "modified_date": "2021-01-09T17:46:01.958Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "normandy", - "full_name": "saadmk11/normandy", - "description": "Firefox recipe server", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/normandy.git", - "clone_url": "https://github.com/saadmk11/normandy.git", - "html_url": "https://github.com/saadmk11/normandy", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 100283111, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDAyODMxMTE=\", \"name\": \"normandy\", \"full_name\": \"saadmk11/normandy\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/normandy\", \"description\": \"Firefox recipe server\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/normandy\", \"forks_url\": \"https://api.github.com/repos/saadmk11/normandy/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/normandy/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/normandy/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/normandy/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/normandy/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/normandy/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/normandy/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/normandy/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/normandy/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/normandy/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/normandy/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/normandy/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/normandy/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/normandy/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/normandy/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/normandy/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/normandy/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/normandy/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/normandy/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/normandy/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/normandy/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/normandy/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/normandy/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/normandy/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/normandy/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/normandy/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/normandy/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/normandy/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/normandy/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/normandy/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/normandy/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/normandy/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/normandy/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/normandy/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/normandy/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/normandy/deployments\", \"created_at\": \"2017-08-14T15:36:16Z\", \"updated_at\": \"2017-08-14T15:36:18Z\", \"pushed_at\": \"2017-08-11T22:53:58Z\", \"git_url\": \"git://github.com/saadmk11/normandy.git\", \"ssh_url\": \"git@github.com:saadmk11/normandy.git\", \"clone_url\": \"https://github.com/saadmk11/normandy.git\", \"svn_url\": \"https://github.com/saadmk11/normandy\", \"homepage\": \"https://wiki.mozilla.org/Firefox/Recipe_Server\", \"size\": 5162, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 32, - "fields": { - "pub_date": "2021-01-09T17:46:01.965Z", - "modified_date": "2021-01-09T17:46:01.975Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "online-resume", - "full_name": "saadmk11/online-resume", - "description": "Online Resume (Publish your Resume Online)", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/online-resume.git", - "clone_url": "https://github.com/saadmk11/online-resume.git", - "html_url": "https://github.com/saadmk11/online-resume", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 102866499, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMDI4NjY0OTk=\", \"name\": \"online-resume\", \"full_name\": \"saadmk11/online-resume\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/online-resume\", \"description\": \"Online Resume (Publish your Resume Online)\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/online-resume\", \"forks_url\": \"https://api.github.com/repos/saadmk11/online-resume/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/online-resume/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/online-resume/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/online-resume/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/online-resume/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/online-resume/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/online-resume/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/online-resume/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/online-resume/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/online-resume/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/online-resume/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/online-resume/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/online-resume/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/online-resume/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/online-resume/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/online-resume/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/online-resume/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/online-resume/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/online-resume/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/online-resume/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/online-resume/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/online-resume/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/online-resume/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/online-resume/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/online-resume/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/online-resume/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/online-resume/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/online-resume/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/online-resume/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/online-resume/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/online-resume/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/online-resume/deployments\", \"created_at\": \"2017-09-08T13:51:03Z\", \"updated_at\": \"2020-08-13T10:36:42Z\", \"pushed_at\": \"2018-08-28T13:18:00Z\", \"git_url\": \"git://github.com/saadmk11/online-resume.git\", \"ssh_url\": \"git@github.com:saadmk11/online-resume.git\", \"clone_url\": \"https://github.com/saadmk11/online-resume.git\", \"svn_url\": \"https://github.com/saadmk11/online-resume\", \"homepage\": \"\", \"size\": 1348, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 3, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 33, - "fields": { - "pub_date": "2021-01-09T17:46:01.984Z", - "modified_date": "2021-01-09T17:46:01.994Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "pharmacy-management-system", - "full_name": "saadmk11/pharmacy-management-system", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/pharmacy-management-system.git", - "clone_url": "https://github.com/saadmk11/pharmacy-management-system.git", - "html_url": "https://github.com/saadmk11/pharmacy-management-system", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 324490359, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMjQ0OTAzNTk=\", \"name\": \"pharmacy-management-system\", \"full_name\": \"saadmk11/pharmacy-management-system\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/pharmacy-management-system\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system\", \"forks_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/pharmacy-management-system/deployments\", \"created_at\": \"2020-12-26T05:45:22Z\", \"updated_at\": \"2020-12-26T05:49:19Z\", \"pushed_at\": \"2020-12-26T05:49:17Z\", \"git_url\": \"git://github.com/saadmk11/pharmacy-management-system.git\", \"ssh_url\": \"git@github.com:saadmk11/pharmacy-management-system.git\", \"clone_url\": \"https://github.com/saadmk11/pharmacy-management-system.git\", \"svn_url\": \"https://github.com/saadmk11/pharmacy-management-system\", \"homepage\": null, \"size\": 28, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 34, - "fields": { - "pub_date": "2021-01-09T17:46:02.004Z", - "modified_date": "2021-01-09T17:46:02.015Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "photo_album_sharing", - "full_name": "saadmk11/photo_album_sharing", - "description": " Photo Album Sharing Service Django project.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/photo_album_sharing.git", - "clone_url": "https://github.com/saadmk11/photo_album_sharing.git", - "html_url": "https://github.com/saadmk11/photo_album_sharing", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 127180963, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjcxODA5NjM=\", \"name\": \"photo_album_sharing\", \"full_name\": \"saadmk11/photo_album_sharing\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/photo_album_sharing\", \"description\": \" Photo Album Sharing Service Django project.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing\", \"forks_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/photo_album_sharing/deployments\", \"created_at\": \"2018-03-28T18:20:26Z\", \"updated_at\": \"2018-04-01T13:45:33Z\", \"pushed_at\": \"2018-03-31T18:16:33Z\", \"git_url\": \"git://github.com/saadmk11/photo_album_sharing.git\", \"ssh_url\": \"git@github.com:saadmk11/photo_album_sharing.git\", \"clone_url\": \"https://github.com/saadmk11/photo_album_sharing.git\", \"svn_url\": \"https://github.com/saadmk11/photo_album_sharing\", \"homepage\": \"http://saadmk11.pythonanywhere.com/\", \"size\": 514, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 35, - "fields": { - "pub_date": "2021-01-09T17:46:02.026Z", - "modified_date": "2021-01-09T17:46:02.037Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "product-search", - "full_name": "saadmk11/product-search", - "description": "Product Search With Django and Elastic Search", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/product-search.git", - "clone_url": "https://github.com/saadmk11/product-search.git", - "html_url": "https://github.com/saadmk11/product-search", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 176906721, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNzY5MDY3MjE=\", \"name\": \"product-search\", \"full_name\": \"saadmk11/product-search\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/product-search\", \"description\": \"Product Search With Django and Elastic Search\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/product-search\", \"forks_url\": \"https://api.github.com/repos/saadmk11/product-search/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/product-search/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/product-search/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/product-search/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/product-search/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/product-search/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/product-search/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/product-search/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/product-search/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/product-search/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/product-search/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/product-search/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/product-search/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/product-search/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/product-search/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/product-search/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/product-search/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/product-search/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/product-search/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/product-search/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/product-search/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/product-search/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/product-search/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/product-search/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/product-search/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/product-search/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/product-search/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/product-search/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/product-search/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/product-search/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/product-search/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/product-search/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/product-search/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/product-search/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/product-search/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/product-search/deployments\", \"created_at\": \"2019-03-21T08:57:00Z\", \"updated_at\": \"2019-10-22T11:51:39Z\", \"pushed_at\": \"2020-06-05T20:07:26Z\", \"git_url\": \"git://github.com/saadmk11/product-search.git\", \"ssh_url\": \"git@github.com:saadmk11/product-search.git\", \"clone_url\": \"https://github.com/saadmk11/product-search.git\", \"svn_url\": \"https://github.com/saadmk11/product-search\", \"homepage\": null, \"size\": 16, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": null, \"forks\": 0, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 36, - "fields": { - "pub_date": "2021-01-09T17:46:02.046Z", - "modified_date": "2021-01-09T17:46:02.056Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "python_firebase_url_shortener", - "full_name": "saadmk11/python_firebase_url_shortener", - "description": "This is a Python Client for Firebase Dynamic Links to Create Short URLs.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/python_firebase_url_shortener.git", - "clone_url": "https://github.com/saadmk11/python_firebase_url_shortener.git", - "html_url": "https://github.com/saadmk11/python_firebase_url_shortener", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 164023930, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjQwMjM5MzA=\", \"name\": \"python_firebase_url_shortener\", \"full_name\": \"saadmk11/python_firebase_url_shortener\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/python_firebase_url_shortener\", \"description\": \"This is a Python Client for Firebase Dynamic Links to Create Short URLs.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener\", \"forks_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/python_firebase_url_shortener/deployments\", \"created_at\": \"2019-01-03T21:18:35Z\", \"updated_at\": \"2020-08-13T10:37:24Z\", \"pushed_at\": \"2019-05-11T11:09:56Z\", \"git_url\": \"git://github.com/saadmk11/python_firebase_url_shortener.git\", \"ssh_url\": \"git@github.com:saadmk11/python_firebase_url_shortener.git\", \"clone_url\": \"https://github.com/saadmk11/python_firebase_url_shortener.git\", \"svn_url\": \"https://github.com/saadmk11/python_firebase_url_shortener\", \"homepage\": \"https://pypi.org/project/python-firebase-url-shortener/\", \"size\": 18, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 1, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 37, - "fields": { - "pub_date": "2021-01-09T17:46:02.066Z", - "modified_date": "2021-01-09T17:46:02.076Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "razorpay-python", - "full_name": "saadmk11/razorpay-python", - "description": "Razorpay Python SDK", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/razorpay-python.git", - "clone_url": "https://github.com/saadmk11/razorpay-python.git", - "html_url": "https://github.com/saadmk11/razorpay-python", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 188385295, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODgzODUyOTU=\", \"name\": \"razorpay-python\", \"full_name\": \"saadmk11/razorpay-python\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/razorpay-python\", \"description\": \"Razorpay Python SDK\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/razorpay-python\", \"forks_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/razorpay-python/deployments\", \"created_at\": \"2019-05-24T08:38:01Z\", \"updated_at\": \"2020-09-19T06:28:21Z\", \"pushed_at\": \"2020-09-19T06:53:00Z\", \"git_url\": \"git://github.com/saadmk11/razorpay-python.git\", \"ssh_url\": \"git@github.com:saadmk11/razorpay-python.git\", \"clone_url\": \"https://github.com/saadmk11/razorpay-python.git\", \"svn_url\": \"https://github.com/saadmk11/razorpay-python\", \"homepage\": \"https://pypi.python.org/pypi/razorpay\", \"size\": 292, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 38, - "fields": { - "pub_date": "2021-01-09T17:46:02.086Z", - "modified_date": "2021-01-09T17:46:02.097Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "readthedocs-sphinx-ext", - "full_name": "saadmk11/readthedocs-sphinx-ext", - "description": "This holds code specific for Read the Docs and Sphinx", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/readthedocs-sphinx-ext.git", - "clone_url": "https://github.com/saadmk11/readthedocs-sphinx-ext.git", - "html_url": "https://github.com/saadmk11/readthedocs-sphinx-ext", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 196229207, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTYyMjkyMDc=\", \"name\": \"readthedocs-sphinx-ext\", \"full_name\": \"saadmk11/readthedocs-sphinx-ext\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/readthedocs-sphinx-ext\", \"description\": \"This holds code specific for Read the Docs and Sphinx\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext\", \"forks_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/readthedocs-sphinx-ext/deployments\", \"created_at\": \"2019-07-10T15:19:12Z\", \"updated_at\": \"2019-07-10T15:19:15Z\", \"pushed_at\": \"2019-07-11T15:42:17Z\", \"git_url\": \"git://github.com/saadmk11/readthedocs-sphinx-ext.git\", \"ssh_url\": \"git@github.com:saadmk11/readthedocs-sphinx-ext.git\", \"clone_url\": \"https://github.com/saadmk11/readthedocs-sphinx-ext.git\", \"svn_url\": \"https://github.com/saadmk11/readthedocs-sphinx-ext\", \"homepage\": \"\", \"size\": 248, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 39, - "fields": { - "pub_date": "2021-01-09T17:46:02.107Z", - "modified_date": "2021-01-09T17:46:02.118Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "readthedocs.org", - "full_name": "saadmk11/readthedocs.org", - "description": "The source code that powers readthedocs.org", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/readthedocs.org.git", - "clone_url": "https://github.com/saadmk11/readthedocs.org.git", - "html_url": "https://github.com/saadmk11/readthedocs.org", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 168940966, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjg5NDA5NjY=\", \"name\": \"readthedocs.org\", \"full_name\": \"saadmk11/readthedocs.org\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/readthedocs.org\", \"description\": \"The source code that powers readthedocs.org\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/readthedocs.org\", \"forks_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/readthedocs.org/deployments\", \"created_at\": \"2019-02-03T12:06:49Z\", \"updated_at\": \"2021-01-09T17:28:34Z\", \"pushed_at\": \"2021-01-09T17:28:24Z\", \"git_url\": \"git://github.com/saadmk11/readthedocs.org.git\", \"ssh_url\": \"git@github.com:saadmk11/readthedocs.org.git\", \"clone_url\": \"https://github.com/saadmk11/readthedocs.org.git\", \"svn_url\": \"https://github.com/saadmk11/readthedocs.org\", \"homepage\": \"https://readthedocs.org/\", \"size\": 69355, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 40, - "fields": { - "pub_date": "2021-01-09T17:46:02.128Z", - "modified_date": "2021-01-09T17:46:02.139Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "registration", - "full_name": "saadmk11/registration", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/registration.git", - "clone_url": "https://github.com/saadmk11/registration.git", - "html_url": "https://github.com/saadmk11/registration", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 77743808, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3Nzc0MzgwOA==\", \"name\": \"registration\", \"full_name\": \"saadmk11/registration\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/registration\", \"description\": null, \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/registration\", \"forks_url\": \"https://api.github.com/repos/saadmk11/registration/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/registration/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/registration/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/registration/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/registration/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/registration/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/registration/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/registration/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/registration/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/registration/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/registration/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/registration/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/registration/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/registration/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/registration/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/registration/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/registration/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/registration/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/registration/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/registration/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/registration/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/registration/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/registration/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/registration/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/registration/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/registration/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/registration/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/registration/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/registration/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/registration/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/registration/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/registration/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/registration/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/registration/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/registration/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/registration/deployments\", \"created_at\": \"2016-12-31T14:40:58Z\", \"updated_at\": \"2017-01-01T19:00:47Z\", \"pushed_at\": \"2017-01-02T18:55:47Z\", \"git_url\": \"git://github.com/saadmk11/registration.git\", \"ssh_url\": \"git@github.com:saadmk11/registration.git\", \"clone_url\": \"https://github.com/saadmk11/registration.git\", \"svn_url\": \"https://github.com/saadmk11/registration\", \"homepage\": null, \"size\": 1387, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"HTML\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 41, - "fields": { - "pub_date": "2021-01-09T17:46:02.149Z", - "modified_date": "2021-01-09T17:46:02.159Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "restapidocs", - "full_name": "saadmk11/restapidocs", - "description": "Templates for documenting REST APIs", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/restapidocs.git", - "clone_url": "https://github.com/saadmk11/restapidocs.git", - "html_url": "https://github.com/saadmk11/restapidocs", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 126014752, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjYwMTQ3NTI=\", \"name\": \"restapidocs\", \"full_name\": \"saadmk11/restapidocs\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/restapidocs\", \"description\": \"Templates for documenting REST APIs\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/restapidocs\", \"forks_url\": \"https://api.github.com/repos/saadmk11/restapidocs/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/restapidocs/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/restapidocs/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/restapidocs/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/restapidocs/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/restapidocs/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/restapidocs/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/restapidocs/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/restapidocs/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/restapidocs/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/restapidocs/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/restapidocs/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/restapidocs/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/restapidocs/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/restapidocs/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/restapidocs/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/restapidocs/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/restapidocs/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/restapidocs/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/restapidocs/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/restapidocs/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/restapidocs/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/restapidocs/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/restapidocs/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/restapidocs/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/restapidocs/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/restapidocs/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/restapidocs/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/restapidocs/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/restapidocs/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/restapidocs/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/restapidocs/deployments\", \"created_at\": \"2018-03-20T12:34:34Z\", \"updated_at\": \"2018-03-20T12:34:36Z\", \"pushed_at\": \"2016-06-08T14:53:40Z\", \"git_url\": \"git://github.com/saadmk11/restapidocs.git\", \"ssh_url\": \"git@github.com:saadmk11/restapidocs.git\", \"clone_url\": \"https://github.com/saadmk11/restapidocs.git\", \"svn_url\": \"https://github.com/saadmk11/restapidocs\", \"homepage\": \"\", \"size\": 13, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"unlicense\", \"name\": \"The Unlicense\", \"spdx_id\": \"Unlicense\", \"url\": \"https://api.github.com/licenses/unlicense\", \"node_id\": \"MDc6TGljZW5zZTE1\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 42, - "fields": { - "pub_date": "2021-01-09T17:46:02.168Z", - "modified_date": "2021-01-09T17:46:02.175Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "Restaurant-Website", - "full_name": "saadmk11/Restaurant-Website", - "description": "This is a Restaurant Website Github Repository.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/Restaurant-Website.git", - "clone_url": "https://github.com/saadmk11/Restaurant-Website.git", - "html_url": "https://github.com/saadmk11/Restaurant-Website", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 96550504, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5NjU1MDUwNA==\", \"name\": \"Restaurant-Website\", \"full_name\": \"saadmk11/Restaurant-Website\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/Restaurant-Website\", \"description\": \"This is a Restaurant Website Github Repository.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website\", \"forks_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/Restaurant-Website/deployments\", \"created_at\": \"2017-07-07T15:12:58Z\", \"updated_at\": \"2020-09-17T06:04:32Z\", \"pushed_at\": \"2017-12-18T18:16:26Z\", \"git_url\": \"git://github.com/saadmk11/Restaurant-Website.git\", \"ssh_url\": \"git@github.com:saadmk11/Restaurant-Website.git\", \"clone_url\": \"https://github.com/saadmk11/Restaurant-Website.git\", \"svn_url\": \"https://github.com/saadmk11/Restaurant-Website\", \"homepage\": \"\", \"size\": 1260, \"stargazers_count\": 4, \"watchers_count\": 4, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 5, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 5, \"open_issues\": 0, \"watchers\": 4, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 43, - "fields": { - "pub_date": "2021-01-09T17:46:02.180Z", - "modified_date": "2021-01-09T17:46:02.184Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "resume-website", - "full_name": "saadmk11/resume-website", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/resume-website.git", - "clone_url": "https://github.com/saadmk11/resume-website.git", - "html_url": "https://github.com/saadmk11/resume-website", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 90979465, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5MDk3OTQ2NQ==\", \"name\": \"resume-website\", \"full_name\": \"saadmk11/resume-website\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/resume-website\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/resume-website\", \"forks_url\": \"https://api.github.com/repos/saadmk11/resume-website/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/resume-website/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/resume-website/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/resume-website/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/resume-website/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/resume-website/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/resume-website/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/resume-website/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/resume-website/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/resume-website/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/resume-website/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/resume-website/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/resume-website/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/resume-website/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/resume-website/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/resume-website/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/resume-website/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/resume-website/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/resume-website/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/resume-website/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/resume-website/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/resume-website/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/resume-website/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/resume-website/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/resume-website/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/resume-website/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/resume-website/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/resume-website/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/resume-website/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/resume-website/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/resume-website/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/resume-website/deployments\", \"created_at\": \"2017-05-11T12:59:04Z\", \"updated_at\": \"2017-05-11T13:13:00Z\", \"pushed_at\": \"2020-10-17T04:02:26Z\", \"git_url\": \"git://github.com/saadmk11/resume-website.git\", \"ssh_url\": \"git@github.com:saadmk11/resume-website.git\", \"clone_url\": \"https://github.com/saadmk11/resume-website.git\", \"svn_url\": \"https://github.com/saadmk11/resume-website\", \"homepage\": null, \"size\": 1237, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 4, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 4, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 44, - "fields": { - "pub_date": "2021-01-09T17:46:02.188Z", - "modified_date": "2021-01-09T17:46:02.193Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "rtd-test", - "full_name": "saadmk11/rtd-test", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/rtd-test.git", - "clone_url": "https://github.com/saadmk11/rtd-test.git", - "html_url": "https://github.com/saadmk11/rtd-test", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 203859543, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDM4NTk1NDM=\", \"name\": \"rtd-test\", \"full_name\": \"saadmk11/rtd-test\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/rtd-test\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/rtd-test\", \"forks_url\": \"https://api.github.com/repos/saadmk11/rtd-test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/rtd-test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/rtd-test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/rtd-test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/rtd-test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/rtd-test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/rtd-test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/rtd-test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/rtd-test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/rtd-test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/rtd-test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/rtd-test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/rtd-test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/rtd-test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/rtd-test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/rtd-test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/rtd-test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/rtd-test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/rtd-test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/rtd-test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/rtd-test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/rtd-test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/rtd-test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/rtd-test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/rtd-test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/rtd-test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/rtd-test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/rtd-test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/rtd-test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/rtd-test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/rtd-test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/rtd-test/deployments\", \"created_at\": \"2019-08-22T19:27:25Z\", \"updated_at\": \"2019-08-22T19:45:32Z\", \"pushed_at\": \"2021-01-07T23:05:10Z\", \"git_url\": \"git://github.com/saadmk11/rtd-test.git\", \"ssh_url\": \"git@github.com:saadmk11/rtd-test.git\", \"clone_url\": \"https://github.com/saadmk11/rtd-test.git\", \"svn_url\": \"https://github.com/saadmk11/rtd-test\", \"homepage\": null, \"size\": 9819, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 45, - "fields": { - "pub_date": "2021-01-09T17:46:02.196Z", - "modified_date": "2021-01-09T17:46:02.200Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "saadmk11.github.io", - "full_name": "saadmk11/saadmk11.github.io", - "description": "https://saadmk11.github.io/", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/saadmk11.github.io.git", - "clone_url": "https://github.com/saadmk11/saadmk11.github.io.git", - "html_url": "https://github.com/saadmk11/saadmk11.github.io", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 281395464, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyODEzOTU0NjQ=\", \"name\": \"saadmk11.github.io\", \"full_name\": \"saadmk11/saadmk11.github.io\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/saadmk11.github.io\", \"description\": \"https://saadmk11.github.io/\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io\", \"forks_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/saadmk11.github.io/deployments\", \"created_at\": \"2020-07-21T12:44:59Z\", \"updated_at\": \"2021-01-09T06:19:35Z\", \"pushed_at\": \"2021-01-09T06:19:33Z\", \"git_url\": \"git://github.com/saadmk11/saadmk11.github.io.git\", \"ssh_url\": \"git@github.com:saadmk11/saadmk11.github.io.git\", \"clone_url\": \"https://github.com/saadmk11/saadmk11.github.io.git\", \"svn_url\": \"https://github.com/saadmk11/saadmk11.github.io\", \"homepage\": \"\", \"size\": 124, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"HTML\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 46, - "fields": { - "pub_date": "2021-01-09T17:46:02.203Z", - "modified_date": "2021-01-09T17:46:02.207Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "sendotp-python", - "full_name": "saadmk11/sendotp-python", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/sendotp-python.git", - "clone_url": "https://github.com/saadmk11/sendotp-python.git", - "html_url": "https://github.com/saadmk11/sendotp-python", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 154348043, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTQzNDgwNDM=\", \"name\": \"sendotp-python\", \"full_name\": \"saadmk11/sendotp-python\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/sendotp-python\", \"description\": null, \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/sendotp-python\", \"forks_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/sendotp-python/deployments\", \"created_at\": \"2018-10-23T15:01:02Z\", \"updated_at\": \"2018-10-23T15:06:15Z\", \"pushed_at\": \"2018-10-23T15:06:14Z\", \"git_url\": \"git://github.com/saadmk11/sendotp-python.git\", \"ssh_url\": \"git@github.com:saadmk11/sendotp-python.git\", \"clone_url\": \"https://github.com/saadmk11/sendotp-python.git\", \"svn_url\": \"https://github.com/saadmk11/sendotp-python\", \"homepage\": null, \"size\": 7, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 47, - "fields": { - "pub_date": "2021-01-09T17:46:02.210Z", - "modified_date": "2021-01-09T17:46:02.214Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "store-password", - "full_name": "saadmk11/store-password", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/store-password.git", - "clone_url": "https://github.com/saadmk11/store-password.git", - "html_url": "https://github.com/saadmk11/store-password", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 90663982, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5MDY2Mzk4Mg==\", \"name\": \"store-password\", \"full_name\": \"saadmk11/store-password\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/store-password\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/store-password\", \"forks_url\": \"https://api.github.com/repos/saadmk11/store-password/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/store-password/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/store-password/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/store-password/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/store-password/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/store-password/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/store-password/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/store-password/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/store-password/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/store-password/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/store-password/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/store-password/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/store-password/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/store-password/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/store-password/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/store-password/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/store-password/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/store-password/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/store-password/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/store-password/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/store-password/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/store-password/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/store-password/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/store-password/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/store-password/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/store-password/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/store-password/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/store-password/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/store-password/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/store-password/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/store-password/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/store-password/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/store-password/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/store-password/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/store-password/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/store-password/deployments\", \"created_at\": \"2017-05-08T19:17:27Z\", \"updated_at\": \"2017-05-08T19:19:43Z\", \"pushed_at\": \"2017-05-11T12:09:36Z\", \"git_url\": \"git://github.com/saadmk11/store-password.git\", \"ssh_url\": \"git@github.com:saadmk11/store-password.git\", \"clone_url\": \"https://github.com/saadmk11/store-password.git\", \"svn_url\": \"https://github.com/saadmk11/store-password\", \"homepage\": null, \"size\": 12, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 48, - "fields": { - "pub_date": "2021-01-09T17:46:02.217Z", - "modified_date": "2021-01-09T17:46:02.220Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "template", - "full_name": "saadmk11/template", - "description": "A template Sphinx repo", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/template.git", - "clone_url": "https://github.com/saadmk11/template.git", - "html_url": "https://github.com/saadmk11/template", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 190923814, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTA5MjM4MTQ=\", \"name\": \"template\", \"full_name\": \"saadmk11/template\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/template\", \"description\": \"A template Sphinx repo\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/template\", \"forks_url\": \"https://api.github.com/repos/saadmk11/template/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/template/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/template/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/template/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/template/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/template/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/template/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/template/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/template/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/template/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/template/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/template/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/template/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/template/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/template/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/template/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/template/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/template/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/template/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/template/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/template/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/template/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/template/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/template/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/template/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/template/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/template/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/template/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/template/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/template/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/template/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/template/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/template/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/template/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/template/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/template/deployments\", \"created_at\": \"2019-06-08T18:50:51Z\", \"updated_at\": \"2019-06-20T21:27:43Z\", \"pushed_at\": \"2019-07-19T13:11:56Z\", \"git_url\": \"git://github.com/saadmk11/template.git\", \"ssh_url\": \"git@github.com:saadmk11/template.git\", \"clone_url\": \"https://github.com/saadmk11/template.git\", \"svn_url\": \"https://github.com/saadmk11/template\", \"homepage\": null, \"size\": 14, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 49, - "fields": { - "pub_date": "2021-01-09T17:46:02.224Z", - "modified_date": "2021-01-09T17:46:02.228Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "test", - "full_name": "saadmk11/test", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/test.git", - "clone_url": "https://github.com/saadmk11/test.git", - "html_url": "https://github.com/saadmk11/test", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 180540525, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODA1NDA1MjU=\", \"name\": \"test\", \"full_name\": \"saadmk11/test\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test/deployments\", \"created_at\": \"2019-04-10T08:45:58Z\", \"updated_at\": \"2020-12-09T07:15:02Z\", \"pushed_at\": \"2020-12-09T07:18:23Z\", \"git_url\": \"git://github.com/saadmk11/test.git\", \"ssh_url\": \"git@github.com:saadmk11/test.git\", \"clone_url\": \"https://github.com/saadmk11/test.git\", \"svn_url\": \"https://github.com/saadmk11/test\", \"homepage\": null, \"size\": 142, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Shell\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 1, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 50, - "fields": { - "pub_date": "2021-01-09T17:46:02.231Z", - "modified_date": "2021-01-09T17:46:02.235Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "test-django-newsfeed", - "full_name": "saadmk11/test-django-newsfeed", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/test-django-newsfeed.git", - "clone_url": "https://github.com/saadmk11/test-django-newsfeed.git", - "html_url": "https://github.com/saadmk11/test-django-newsfeed", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 290439817, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTA0Mzk4MTc=\", \"name\": \"test-django-newsfeed\", \"full_name\": \"saadmk11/test-django-newsfeed\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test-django-newsfeed\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test-django-newsfeed/deployments\", \"created_at\": \"2020-08-26T08:26:22Z\", \"updated_at\": \"2021-01-05T06:11:12Z\", \"pushed_at\": \"2021-01-05T07:10:15Z\", \"git_url\": \"git://github.com/saadmk11/test-django-newsfeed.git\", \"ssh_url\": \"git@github.com:saadmk11/test-django-newsfeed.git\", \"clone_url\": \"https://github.com/saadmk11/test-django-newsfeed.git\", \"svn_url\": \"https://github.com/saadmk11/test-django-newsfeed\", \"homepage\": null, \"size\": 8363, \"stargazers_count\": 5, \"watchers_count\": 5, \"language\": \"HTML\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": null, \"forks\": 1, \"open_issues\": 1, \"watchers\": 5, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 51, - "fields": { - "pub_date": "2021-01-09T17:46:02.238Z", - "modified_date": "2021-01-09T17:46:02.241Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "test-docker", - "full_name": "saadmk11/test-docker", - "description": "Test Repo For Django & Docker", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/test-docker.git", - "clone_url": "https://github.com/saadmk11/test-docker.git", - "html_url": "https://github.com/saadmk11/test-docker", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 146567397, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDY1NjczOTc=\", \"name\": \"test-docker\", \"full_name\": \"saadmk11/test-docker\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test-docker\", \"description\": \"Test Repo For Django & Docker\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test-docker\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test-docker/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test-docker/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test-docker/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test-docker/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test-docker/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test-docker/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test-docker/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test-docker/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test-docker/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test-docker/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test-docker/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test-docker/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test-docker/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test-docker/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test-docker/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test-docker/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test-docker/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test-docker/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test-docker/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test-docker/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test-docker/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test-docker/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test-docker/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test-docker/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test-docker/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test-docker/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test-docker/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test-docker/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test-docker/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test-docker/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test-docker/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test-docker/deployments\", \"created_at\": \"2018-08-29T08:12:22Z\", \"updated_at\": \"2018-09-03T19:16:43Z\", \"pushed_at\": \"2018-09-03T19:16:42Z\", \"git_url\": \"git://github.com/saadmk11/test-docker.git\", \"ssh_url\": \"git@github.com:saadmk11/test-docker.git\", \"clone_url\": \"https://github.com/saadmk11/test-docker.git\", \"svn_url\": \"https://github.com/saadmk11/test-docker\", \"homepage\": null, \"size\": 12, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 2, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 2, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 52, - "fields": { - "pub_date": "2021-01-09T17:46:02.244Z", - "modified_date": "2021-01-09T17:46:02.248Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "xhtml2pdf", - "full_name": "saadmk11/xhtml2pdf", - "description": "A library for converting HTML into PDFs using ReportLab", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/xhtml2pdf.git", - "clone_url": "https://github.com/saadmk11/xhtml2pdf.git", - "html_url": "https://github.com/saadmk11/xhtml2pdf", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 119902386, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTk5MDIzODY=\", \"name\": \"xhtml2pdf\", \"full_name\": \"saadmk11/xhtml2pdf\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/xhtml2pdf\", \"description\": \"A library for converting HTML into PDFs using ReportLab\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf\", \"forks_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/xhtml2pdf/deployments\", \"created_at\": \"2018-02-01T22:39:43Z\", \"updated_at\": \"2018-02-01T22:39:45Z\", \"pushed_at\": \"2018-02-01T16:52:30Z\", \"git_url\": \"git://github.com/saadmk11/xhtml2pdf.git\", \"ssh_url\": \"git@github.com:saadmk11/xhtml2pdf.git\", \"clone_url\": \"https://github.com/saadmk11/xhtml2pdf.git\", \"svn_url\": \"https://github.com/saadmk11/xhtml2pdf\", \"homepage\": \"\", \"size\": 9420, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"apache-2.0\", \"name\": \"Apache License 2.0\", \"spdx_id\": \"Apache-2.0\", \"url\": \"https://api.github.com/licenses/apache-2.0\", \"node_id\": \"MDc6TGljZW5zZTI=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 53, - "fields": { - "pub_date": "2021-01-09T17:46:02.251Z", - "modified_date": "2021-01-09T17:46:02.255Z", - "account": 1, - "organization": null, - "active": false, - "project": null, - "name": "your-query", - "full_name": "saadmk11/your-query", - "description": "This is a Question Answer Website. Users Can Ask & Answer Questions.", - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/your-query.git", - "clone_url": "https://github.com/saadmk11/your-query.git", - "html_url": "https://github.com/saadmk11/your-query", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 98430043, \"node_id\": \"MDEwOlJlcG9zaXRvcnk5ODQzMDA0Mw==\", \"name\": \"your-query\", \"full_name\": \"saadmk11/your-query\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/your-query\", \"description\": \"This is a Question Answer Website. Users Can Ask & Answer Questions.\", \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/your-query\", \"forks_url\": \"https://api.github.com/repos/saadmk11/your-query/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/your-query/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/your-query/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/your-query/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/your-query/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/your-query/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/your-query/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/your-query/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/your-query/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/your-query/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/your-query/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/your-query/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/your-query/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/your-query/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/your-query/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/your-query/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/your-query/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/your-query/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/your-query/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/your-query/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/your-query/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/your-query/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/your-query/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/your-query/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/your-query/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/your-query/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/your-query/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/your-query/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/your-query/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/your-query/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/your-query/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/your-query/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/your-query/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/your-query/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/your-query/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/your-query/deployments\", \"created_at\": \"2017-07-26T14:08:48Z\", \"updated_at\": \"2020-10-10T12:49:32Z\", \"pushed_at\": \"2017-08-23T13:11:45Z\", \"git_url\": \"git://github.com/saadmk11/your-query.git\", \"ssh_url\": \"git@github.com:saadmk11/your-query.git\", \"clone_url\": \"https://github.com/saadmk11/your-query.git\", \"svn_url\": \"https://github.com/saadmk11/your-query\", \"homepage\": \"https://yourquery.herokuapp.com/\", \"size\": 1237, \"stargazers_count\": 7, \"watchers_count\": 7, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 8, \"open_issues\": 0, \"watchers\": 7, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 54, - "fields": { - "pub_date": "2021-01-09T17:46:04.431Z", - "modified_date": "2021-01-09T17:46:04.437Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "readthedocs-sphinx-ext", - "full_name": "readthedocs/readthedocs-sphinx-ext", - "description": "This holds code specific for Read the Docs and Sphinx", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/readthedocs-sphinx-ext.git", - "clone_url": "https://github.com/readthedocs/readthedocs-sphinx-ext.git", - "html_url": "https://github.com/readthedocs/readthedocs-sphinx-ext", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 12553186, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjU1MzE4Ng==\", \"name\": \"readthedocs-sphinx-ext\", \"full_name\": \"readthedocs/readthedocs-sphinx-ext\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-sphinx-ext\", \"description\": \"This holds code specific for Read the Docs and Sphinx\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-sphinx-ext/deployments\", \"created_at\": \"2013-09-03T02:23:23Z\", \"updated_at\": \"2021-01-05T23:54:15Z\", \"pushed_at\": \"2021-01-05T23:54:54Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-sphinx-ext.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-sphinx-ext.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-sphinx-ext.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-sphinx-ext\", \"homepage\": \"\", \"size\": 279, \"stargazers_count\": 14, \"watchers_count\": 14, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 20, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 20, \"open_issues\": 1, \"watchers\": 14, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 55, - "fields": { - "pub_date": "2021-01-09T17:46:04.443Z", - "modified_date": "2021-01-09T17:46:04.449Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "sphinx_rtd_theme", - "full_name": "readthedocs/sphinx_rtd_theme", - "description": "Sphinx theme for readthedocs.org", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/sphinx_rtd_theme.git", - "clone_url": "https://github.com/readthedocs/sphinx_rtd_theme.git", - "html_url": "https://github.com/readthedocs/sphinx_rtd_theme", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 13655592, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMzY1NTU5Mg==\", \"name\": \"sphinx_rtd_theme\", \"full_name\": \"readthedocs/sphinx_rtd_theme\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx_rtd_theme\", \"description\": \"Sphinx theme for readthedocs.org\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx_rtd_theme/deployments\", \"created_at\": \"2013-10-17T17:10:49Z\", \"updated_at\": \"2021-01-09T03:08:24Z\", \"pushed_at\": \"2021-01-04T22:14:36Z\", \"git_url\": \"git://github.com/readthedocs/sphinx_rtd_theme.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx_rtd_theme.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx_rtd_theme.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx_rtd_theme\", \"homepage\": \"https://sphinx-rtd-theme.readthedocs.io/\", \"size\": 11903, \"stargazers_count\": 3578, \"watchers_count\": 3578, \"language\": \"Sass\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1476, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 157, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 1476, \"open_issues\": 157, \"watchers\": 3578, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 56, - "fields": { - "pub_date": "2021-01-09T17:46:04.455Z", - "modified_date": "2021-01-09T17:46:04.462Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "blog", - "full_name": "readthedocs/blog", - "description": "Read the Docs blog", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/blog.git", - "clone_url": "https://github.com/readthedocs/blog.git", - "html_url": "https://github.com/readthedocs/blog", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 22479985, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMjQ3OTk4NQ==\", \"name\": \"blog\", \"full_name\": \"readthedocs/blog\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/blog\", \"description\": \"Read the Docs blog\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/blog\", \"forks_url\": \"https://api.github.com/repos/readthedocs/blog/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/blog/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/blog/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/blog/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/blog/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/blog/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/blog/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/blog/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/blog/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/blog/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/blog/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/blog/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/blog/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/blog/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/blog/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/blog/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/blog/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/blog/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/blog/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/blog/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/blog/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/blog/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/blog/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/blog/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/blog/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/blog/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/blog/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/blog/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/blog/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/blog/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/blog/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/blog/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/blog/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/blog/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/blog/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/blog/deployments\", \"created_at\": \"2014-07-31T18:21:48Z\", \"updated_at\": \"2020-12-18T09:16:20Z\", \"pushed_at\": \"2021-01-07T22:26:33Z\", \"git_url\": \"git://github.com/readthedocs/blog.git\", \"ssh_url\": \"git@github.com:readthedocs/blog.git\", \"clone_url\": \"https://github.com/readthedocs/blog.git\", \"svn_url\": \"https://github.com/readthedocs/blog\", \"homepage\": \"https://blog.readthedocs.com\", \"size\": 14810, \"stargazers_count\": 9, \"watchers_count\": 9, \"language\": \"CSS\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 24, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 6, \"license\": null, \"forks\": 24, \"open_issues\": 6, \"watchers\": 9, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 57, - "fields": { - "pub_date": "2021-01-09T17:46:04.467Z", - "modified_date": "2021-01-09T17:46:04.473Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "validatehttp", - "full_name": "readthedocs/validatehttp", - "description": "HTTP response validation application", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/validatehttp.git", - "clone_url": "https://github.com/readthedocs/validatehttp.git", - "html_url": "https://github.com/readthedocs/validatehttp", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 22742752, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMjc0Mjc1Mg==\", \"name\": \"validatehttp\", \"full_name\": \"readthedocs/validatehttp\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/validatehttp\", \"description\": \"HTTP response validation application\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/validatehttp\", \"forks_url\": \"https://api.github.com/repos/readthedocs/validatehttp/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/validatehttp/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/validatehttp/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/validatehttp/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/validatehttp/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/validatehttp/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/validatehttp/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/validatehttp/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/validatehttp/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/validatehttp/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/validatehttp/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/validatehttp/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/validatehttp/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/validatehttp/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/validatehttp/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/validatehttp/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/validatehttp/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/validatehttp/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/validatehttp/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/validatehttp/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/validatehttp/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/validatehttp/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/validatehttp/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/validatehttp/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/validatehttp/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/validatehttp/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/validatehttp/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/validatehttp/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/validatehttp/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/validatehttp/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/validatehttp/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/validatehttp/deployments\", \"created_at\": \"2014-08-08T02:02:43Z\", \"updated_at\": \"2019-06-12T20:59:59Z\", \"pushed_at\": \"2019-06-12T20:57:55Z\", \"git_url\": \"git://github.com/readthedocs/validatehttp.git\", \"ssh_url\": \"git@github.com:readthedocs/validatehttp.git\", \"clone_url\": \"https://github.com/readthedocs/validatehttp.git\", \"svn_url\": \"https://github.com/readthedocs/validatehttp\", \"homepage\": \"\", \"size\": 36, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": null, \"forks\": 1, \"open_issues\": 2, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 58, - "fields": { - "pub_date": "2021-01-09T17:46:04.479Z", - "modified_date": "2021-01-09T17:46:04.485Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "template", - "full_name": "readthedocs/template", - "description": "A template Sphinx repo", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/template.git", - "clone_url": "https://github.com/readthedocs/template.git", - "html_url": "https://github.com/readthedocs/template", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 23367217, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMzM2NzIxNw==\", \"name\": \"template\", \"full_name\": \"readthedocs/template\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/template\", \"description\": \"A template Sphinx repo\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/template\", \"forks_url\": \"https://api.github.com/repos/readthedocs/template/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/template/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/template/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/template/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/template/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/template/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/template/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/template/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/template/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/template/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/template/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/template/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/template/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/template/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/template/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/template/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/template/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/template/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/template/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/template/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/template/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/template/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/template/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/template/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/template/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/template/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/template/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/template/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/template/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/template/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/template/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/template/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/template/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/template/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/template/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/template/deployments\", \"created_at\": \"2014-08-26T21:21:10Z\", \"updated_at\": \"2021-01-07T18:50:45Z\", \"pushed_at\": \"2021-01-07T21:57:25Z\", \"git_url\": \"git://github.com/readthedocs/template.git\", \"ssh_url\": \"git@github.com:readthedocs/template.git\", \"clone_url\": \"https://github.com/readthedocs/template.git\", \"svn_url\": \"https://github.com/readthedocs/template\", \"homepage\": null, \"size\": 9, \"stargazers_count\": 89, \"watchers_count\": 89, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 1114, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 11, \"license\": null, \"forks\": 1114, \"open_issues\": 11, \"watchers\": 89, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 59, - "fields": { - "pub_date": "2021-01-09T17:46:04.490Z", - "modified_date": "2021-01-09T17:46:04.497Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "commonmark.py", - "full_name": "readthedocs/commonmark.py", - "description": "Python CommonMark parser", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/commonmark.py.git", - "clone_url": "https://github.com/readthedocs/commonmark.py.git", - "html_url": "https://github.com/readthedocs/commonmark.py", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 24361415, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNDM2MTQxNQ==\", \"name\": \"commonmark.py\", \"full_name\": \"readthedocs/commonmark.py\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/commonmark.py\", \"description\": \"Python CommonMark parser\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/commonmark.py\", \"forks_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/commonmark.py/deployments\", \"created_at\": \"2014-09-23T07:35:18Z\", \"updated_at\": \"2021-01-02T14:44:30Z\", \"pushed_at\": \"2020-10-05T13:14:10Z\", \"git_url\": \"git://github.com/readthedocs/commonmark.py.git\", \"ssh_url\": \"git@github.com:readthedocs/commonmark.py.git\", \"clone_url\": \"https://github.com/readthedocs/commonmark.py.git\", \"svn_url\": \"https://github.com/readthedocs/commonmark.py\", \"homepage\": \"https://commonmarkpy.readthedocs.io/en/latest/\", \"size\": 770, \"stargazers_count\": 205, \"watchers_count\": 205, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 54, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 18, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 54, \"open_issues\": 18, \"watchers\": 205, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 60, - "fields": { - "pub_date": "2021-01-09T17:46:04.503Z", - "modified_date": "2021-01-09T17:46:04.509Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "guidelines", - "full_name": "readthedocs/guidelines", - "description": "Style, brand, and development guidelines", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/guidelines.git", - "clone_url": "https://github.com/readthedocs/guidelines.git", - "html_url": "https://github.com/readthedocs/guidelines", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 27064825, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzA2NDgyNQ==\", \"name\": \"guidelines\", \"full_name\": \"readthedocs/guidelines\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/guidelines\", \"description\": \"Style, brand, and development guidelines\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/guidelines\", \"forks_url\": \"https://api.github.com/repos/readthedocs/guidelines/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/guidelines/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/guidelines/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/guidelines/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/guidelines/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/guidelines/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/guidelines/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/guidelines/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/guidelines/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/guidelines/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/guidelines/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/guidelines/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/guidelines/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/guidelines/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/guidelines/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/guidelines/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/guidelines/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/guidelines/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/guidelines/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/guidelines/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/guidelines/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/guidelines/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/guidelines/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/guidelines/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/guidelines/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/guidelines/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/guidelines/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/guidelines/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/guidelines/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/guidelines/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/guidelines/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/guidelines/deployments\", \"created_at\": \"2014-11-24T07:04:16Z\", \"updated_at\": \"2020-05-17T01:45:30Z\", \"pushed_at\": \"2018-03-16T08:23:53Z\", \"git_url\": \"git://github.com/readthedocs/guidelines.git\", \"ssh_url\": \"git@github.com:readthedocs/guidelines.git\", \"clone_url\": \"https://github.com/readthedocs/guidelines.git\", \"svn_url\": \"https://github.com/readthedocs/guidelines\", \"homepage\": null, \"size\": 151, \"stargazers_count\": 6, \"watchers_count\": 6, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 6, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 6, \"open_issues\": 0, \"watchers\": 6, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 61, - "fields": { - "pub_date": "2021-01-09T17:46:04.517Z", - "modified_date": "2021-01-09T17:46:04.528Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "bot", - "full_name": "readthedocs/bot", - "description": "Bot for Read the Docs monitoring", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/bot.git", - "clone_url": "https://github.com/readthedocs/bot.git", - "html_url": "https://github.com/readthedocs/bot", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 29337520, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTMzNzUyMA==\", \"name\": \"bot\", \"full_name\": \"readthedocs/bot\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/bot\", \"description\": \"Bot for Read the Docs monitoring\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/bot\", \"forks_url\": \"https://api.github.com/repos/readthedocs/bot/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/bot/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/bot/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/bot/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/bot/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/bot/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/bot/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/bot/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/bot/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/bot/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/bot/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/bot/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/bot/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/bot/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/bot/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/bot/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/bot/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/bot/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/bot/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/bot/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/bot/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/bot/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/bot/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/bot/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/bot/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/bot/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/bot/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/bot/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/bot/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/bot/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/bot/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/bot/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/bot/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/bot/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/bot/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/bot/deployments\", \"created_at\": \"2015-01-16T07:23:33Z\", \"updated_at\": \"2019-10-25T16:26:01Z\", \"pushed_at\": \"2018-09-06T01:30:42Z\", \"git_url\": \"git://github.com/readthedocs/bot.git\", \"ssh_url\": \"git@github.com:readthedocs/bot.git\", \"clone_url\": \"https://github.com/readthedocs/bot.git\", \"svn_url\": \"https://github.com/readthedocs/bot\", \"homepage\": null, \"size\": 37, \"stargazers_count\": 2, \"watchers_count\": 2, \"language\": \"CoffeeScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 3, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 3, \"open_issues\": 0, \"watchers\": 2, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 62, - "fields": { - "pub_date": "2021-01-09T17:46:04.537Z", - "modified_date": "2021-01-09T17:46:04.548Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "livesphinx", - "full_name": "readthedocs/livesphinx", - "description": "A fork of rst.ninjs.org to support Sphinx", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/livesphinx.git", - "clone_url": "https://github.com/readthedocs/livesphinx.git", - "html_url": "https://github.com/readthedocs/livesphinx", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "livesphinx", - "json": "{\"id\": 30392083, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMDM5MjA4Mw==\", \"name\": \"livesphinx\", \"full_name\": \"readthedocs/livesphinx\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/livesphinx\", \"description\": \"A fork of rst.ninjs.org to support Sphinx\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/livesphinx\", \"forks_url\": \"https://api.github.com/repos/readthedocs/livesphinx/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/livesphinx/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/livesphinx/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/livesphinx/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/livesphinx/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/livesphinx/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/livesphinx/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/livesphinx/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/livesphinx/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/livesphinx/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/livesphinx/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/livesphinx/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/livesphinx/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/livesphinx/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/livesphinx/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/livesphinx/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/livesphinx/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/livesphinx/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/livesphinx/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/livesphinx/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/livesphinx/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/livesphinx/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/livesphinx/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/livesphinx/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/livesphinx/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/livesphinx/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/livesphinx/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/livesphinx/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/livesphinx/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/livesphinx/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/livesphinx/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/livesphinx/deployments\", \"created_at\": \"2015-02-06T03:03:29Z\", \"updated_at\": \"2020-09-24T20:24:39Z\", \"pushed_at\": \"2015-06-19T20:46:06Z\", \"git_url\": \"git://github.com/readthedocs/livesphinx.git\", \"ssh_url\": \"git@github.com:readthedocs/livesphinx.git\", \"clone_url\": \"https://github.com/readthedocs/livesphinx.git\", \"svn_url\": \"https://github.com/readthedocs/livesphinx\", \"homepage\": null, \"size\": 393, \"stargazers_count\": 8, \"watchers_count\": 8, \"language\": \"CSS\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 8, \"open_issues\": 1, \"watchers\": 8, \"default_branch\": \"livesphinx\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 63, - "fields": { - "pub_date": "2021-01-09T17:46:04.558Z", - "modified_date": "2021-01-09T17:46:04.569Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "readthedocs-build", - "full_name": "readthedocs/readthedocs-build", - "description": "Work in Progress builder", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/readthedocs-build.git", - "clone_url": "https://github.com/readthedocs/readthedocs-build.git", - "html_url": "https://github.com/readthedocs/readthedocs-build", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 32140406, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMjE0MDQwNg==\", \"name\": \"readthedocs-build\", \"full_name\": \"readthedocs/readthedocs-build\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-build\", \"description\": \"Work in Progress builder\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-build\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-build/deployments\", \"created_at\": \"2015-03-13T07:49:29Z\", \"updated_at\": \"2019-04-04T18:52:20Z\", \"pushed_at\": \"2019-07-17T00:44:26Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-build.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-build.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-build.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-build\", \"homepage\": null, \"size\": 479, \"stargazers_count\": 16, \"watchers_count\": 16, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 19, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 8, \"license\": null, \"forks\": 19, \"open_issues\": 8, \"watchers\": 16, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 64, - "fields": { - "pub_date": "2021-01-09T17:46:04.579Z", - "modified_date": "2021-01-09T17:46:04.590Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "sphinx-autoapi", - "full_name": "readthedocs/sphinx-autoapi", - "description": "A new approach to API documentation in Sphinx.", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/sphinx-autoapi.git", - "clone_url": "https://github.com/readthedocs/sphinx-autoapi.git", - "html_url": "https://github.com/readthedocs/sphinx-autoapi", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 36524868, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzNjUyNDg2OA==\", \"name\": \"sphinx-autoapi\", \"full_name\": \"readthedocs/sphinx-autoapi\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx-autoapi\", \"description\": \"A new approach to API documentation in Sphinx.\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx-autoapi/deployments\", \"created_at\": \"2015-05-29T19:32:28Z\", \"updated_at\": \"2021-01-06T08:56:51Z\", \"pushed_at\": \"2020-11-14T06:51:04Z\", \"git_url\": \"git://github.com/readthedocs/sphinx-autoapi.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx-autoapi.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx-autoapi.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx-autoapi\", \"homepage\": \"https://sphinx-autoapi.readthedocs.io/\", \"size\": 4012, \"stargazers_count\": 206, \"watchers_count\": 206, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": true, \"forks_count\": 56, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 27, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 56, \"open_issues\": 27, \"watchers\": 206, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 65, - "fields": { - "pub_date": "2021-01-09T17:46:04.600Z", - "modified_date": "2021-01-09T17:46:04.610Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "godocjson", - "full_name": "readthedocs/godocjson", - "description": "Generate json from go.", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/godocjson.git", - "clone_url": "https://github.com/readthedocs/godocjson.git", - "html_url": "https://github.com/readthedocs/godocjson", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 36526217, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzNjUyNjIxNw==\", \"name\": \"godocjson\", \"full_name\": \"readthedocs/godocjson\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/godocjson\", \"description\": \"Generate json from go.\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/godocjson\", \"forks_url\": \"https://api.github.com/repos/readthedocs/godocjson/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/godocjson/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/godocjson/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/godocjson/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/godocjson/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/godocjson/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/godocjson/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/godocjson/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/godocjson/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/godocjson/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/godocjson/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/godocjson/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/godocjson/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/godocjson/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/godocjson/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/godocjson/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/godocjson/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/godocjson/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/godocjson/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/godocjson/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/godocjson/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/godocjson/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/godocjson/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/godocjson/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/godocjson/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/godocjson/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/godocjson/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/godocjson/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/godocjson/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/godocjson/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/godocjson/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/godocjson/deployments\", \"created_at\": \"2015-05-29T20:02:25Z\", \"updated_at\": \"2020-10-24T14:52:30Z\", \"pushed_at\": \"2019-09-30T14:26:08Z\", \"git_url\": \"git://github.com/readthedocs/godocjson.git\", \"ssh_url\": \"git@github.com:readthedocs/godocjson.git\", \"clone_url\": \"https://github.com/readthedocs/godocjson.git\", \"svn_url\": \"https://github.com/readthedocs/godocjson\", \"homepage\": null, \"size\": 34, \"stargazers_count\": 9, \"watchers_count\": 9, \"language\": \"Go\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 13, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 13, \"open_issues\": 0, \"watchers\": 9, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 66, - "fields": { - "pub_date": "2021-01-09T17:46:04.620Z", - "modified_date": "2021-01-09T17:46:04.630Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "sphinxcontrib-dotnetdomain", - "full_name": "readthedocs/sphinxcontrib-dotnetdomain", - "description": "A Sphinx domain for .NET languages", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/sphinxcontrib-dotnetdomain.git", - "clone_url": "https://github.com/readthedocs/sphinxcontrib-dotnetdomain.git", - "html_url": "https://github.com/readthedocs/sphinxcontrib-dotnetdomain", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 37870289, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzNzg3MDI4OQ==\", \"name\": \"sphinxcontrib-dotnetdomain\", \"full_name\": \"readthedocs/sphinxcontrib-dotnetdomain\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinxcontrib-dotnetdomain\", \"description\": \"A Sphinx domain for .NET languages\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-dotnetdomain/deployments\", \"created_at\": \"2015-06-22T17:36:29Z\", \"updated_at\": \"2019-11-26T07:06:19Z\", \"pushed_at\": \"2020-11-25T05:01:10Z\", \"git_url\": \"git://github.com/readthedocs/sphinxcontrib-dotnetdomain.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinxcontrib-dotnetdomain.git\", \"clone_url\": \"https://github.com/readthedocs/sphinxcontrib-dotnetdomain.git\", \"svn_url\": \"https://github.com/readthedocs/sphinxcontrib-dotnetdomain\", \"homepage\": \"\", \"size\": 103, \"stargazers_count\": 12, \"watchers_count\": 12, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 9, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 12, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 9, \"open_issues\": 12, \"watchers\": 12, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 67, - "fields": { - "pub_date": "2021-01-09T17:46:04.640Z", - "modified_date": "2021-01-09T17:46:04.650Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "recommonmark", - "full_name": "readthedocs/recommonmark", - "description": "A markdown parser for docutils", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/recommonmark.git", - "clone_url": "https://github.com/readthedocs/recommonmark.git", - "html_url": "https://github.com/readthedocs/recommonmark", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 39848792, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzOTg0ODc5Mg==\", \"name\": \"recommonmark\", \"full_name\": \"readthedocs/recommonmark\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/recommonmark\", \"description\": \"A markdown parser for docutils\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/recommonmark\", \"forks_url\": \"https://api.github.com/repos/readthedocs/recommonmark/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/recommonmark/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/recommonmark/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/recommonmark/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/recommonmark/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/recommonmark/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/recommonmark/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/recommonmark/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/recommonmark/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/recommonmark/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/recommonmark/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/recommonmark/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/recommonmark/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/recommonmark/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/recommonmark/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/recommonmark/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/recommonmark/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/recommonmark/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/recommonmark/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/recommonmark/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/recommonmark/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/recommonmark/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/recommonmark/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/recommonmark/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/recommonmark/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/recommonmark/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/recommonmark/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/recommonmark/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/recommonmark/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/recommonmark/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/recommonmark/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/recommonmark/deployments\", \"created_at\": \"2015-07-28T17:42:59Z\", \"updated_at\": \"2021-01-07T23:25:13Z\", \"pushed_at\": \"2020-12-17T19:25:24Z\", \"git_url\": \"git://github.com/readthedocs/recommonmark.git\", \"ssh_url\": \"git@github.com:readthedocs/recommonmark.git\", \"clone_url\": \"https://github.com/readthedocs/recommonmark.git\", \"svn_url\": \"https://github.com/readthedocs/recommonmark\", \"homepage\": \"https://recommonmark.readthedocs.io/\", \"size\": 170, \"stargazers_count\": 327, \"watchers_count\": 327, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 253, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 117, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 253, \"open_issues\": 117, \"watchers\": 327, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 68, - "fields": { - "pub_date": "2021-01-09T17:46:04.660Z", - "modified_date": "2021-01-09T17:46:04.670Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "readthedocs-docker-images", - "full_name": "readthedocs/readthedocs-docker-images", - "description": "Docker image definitions used by Read the Docs", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/readthedocs-docker-images.git", - "clone_url": "https://github.com/readthedocs/readthedocs-docker-images.git", - "html_url": "https://github.com/readthedocs/readthedocs-docker-images", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 40383557, \"node_id\": \"MDEwOlJlcG9zaXRvcnk0MDM4MzU1Nw==\", \"name\": \"readthedocs-docker-images\", \"full_name\": \"readthedocs/readthedocs-docker-images\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/readthedocs-docker-images\", \"description\": \"Docker image definitions used by Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images\", \"forks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/readthedocs-docker-images/deployments\", \"created_at\": \"2015-08-07T22:31:41Z\", \"updated_at\": \"2020-12-12T03:35:34Z\", \"pushed_at\": \"2020-10-21T19:48:56Z\", \"git_url\": \"git://github.com/readthedocs/readthedocs-docker-images.git\", \"ssh_url\": \"git@github.com:readthedocs/readthedocs-docker-images.git\", \"clone_url\": \"https://github.com/readthedocs/readthedocs-docker-images.git\", \"svn_url\": \"https://github.com/readthedocs/readthedocs-docker-images\", \"homepage\": null, \"size\": 175, \"stargazers_count\": 89, \"watchers_count\": 89, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 67, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 27, \"license\": null, \"forks\": 67, \"open_issues\": 27, \"watchers\": 89, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 69, - "fields": { - "pub_date": "2021-01-09T17:46:04.679Z", - "modified_date": "2021-01-09T17:46:04.690Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "pydoc.io", - "full_name": "readthedocs/pydoc.io", - "description": "A browser for Python project documentation ", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/pydoc.io.git", - "clone_url": "https://github.com/readthedocs/pydoc.io.git", - "html_url": "https://github.com/readthedocs/pydoc.io", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 70949326, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3MDk0OTMyNg==\", \"name\": \"pydoc.io\", \"full_name\": \"readthedocs/pydoc.io\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/pydoc.io\", \"description\": \"A browser for Python project documentation \", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/pydoc.io\", \"forks_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/pydoc.io/deployments\", \"created_at\": \"2016-10-14T21:43:19Z\", \"updated_at\": \"2020-10-18T00:45:24Z\", \"pushed_at\": \"2020-06-05T18:45:34Z\", \"git_url\": \"git://github.com/readthedocs/pydoc.io.git\", \"ssh_url\": \"git@github.com:readthedocs/pydoc.io.git\", \"clone_url\": \"https://github.com/readthedocs/pydoc.io.git\", \"svn_url\": \"https://github.com/readthedocs/pydoc.io\", \"homepage\": null, \"size\": 189, \"stargazers_count\": 21, \"watchers_count\": 21, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 7, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 15, \"license\": {\"key\": \"apache-2.0\", \"name\": \"Apache License 2.0\", \"spdx_id\": \"Apache-2.0\", \"url\": \"https://api.github.com/licenses/apache-2.0\", \"node_id\": \"MDc6TGljZW5zZTI=\"}, \"forks\": 7, \"open_issues\": 15, \"watchers\": 21, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 70, - "fields": { - "pub_date": "2021-01-09T17:46:04.698Z", - "modified_date": "2021-01-09T17:46:04.705Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "apitheme", - "full_name": "readthedocs/apitheme", - "description": "Sphinx API documentation theme", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/apitheme.git", - "clone_url": "https://github.com/readthedocs/apitheme.git", - "html_url": "https://github.com/readthedocs/apitheme", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 72697185, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3MjY5NzE4NQ==\", \"name\": \"apitheme\", \"full_name\": \"readthedocs/apitheme\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/apitheme\", \"description\": \"Sphinx API documentation theme\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/apitheme\", \"forks_url\": \"https://api.github.com/repos/readthedocs/apitheme/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/apitheme/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/apitheme/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/apitheme/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/apitheme/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/apitheme/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/apitheme/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/apitheme/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/apitheme/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/apitheme/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/apitheme/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/apitheme/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/apitheme/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/apitheme/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/apitheme/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/apitheme/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/apitheme/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/apitheme/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/apitheme/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/apitheme/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/apitheme/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/apitheme/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/apitheme/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/apitheme/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/apitheme/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/apitheme/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/apitheme/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/apitheme/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/apitheme/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/apitheme/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/apitheme/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/apitheme/deployments\", \"created_at\": \"2016-11-03T01:37:24Z\", \"updated_at\": \"2020-06-07T08:34:52Z\", \"pushed_at\": \"2017-06-16T21:00:03Z\", \"git_url\": \"git://github.com/readthedocs/apitheme.git\", \"ssh_url\": \"git@github.com:readthedocs/apitheme.git\", \"clone_url\": \"https://github.com/readthedocs/apitheme.git\", \"svn_url\": \"https://github.com/readthedocs/apitheme\", \"homepage\": null, \"size\": 3188, \"stargazers_count\": 6, \"watchers_count\": 6, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 7, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"agpl-3.0\", \"name\": \"GNU Affero General Public License v3.0\", \"spdx_id\": \"AGPL-3.0\", \"url\": \"https://api.github.com/licenses/agpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTE=\"}, \"forks\": 7, \"open_issues\": 0, \"watchers\": 6, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 71, - "fields": { - "pub_date": "2021-01-09T17:46:04.710Z", - "modified_date": "2021-01-09T17:46:04.716Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "rtd-sphinx-themes-examples", - "full_name": "readthedocs/rtd-sphinx-themes-examples", - "description": "A project illustrating different Sphinx themes locally and on Read the Docs", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/rtd-sphinx-themes-examples.git", - "clone_url": "https://github.com/readthedocs/rtd-sphinx-themes-examples.git", - "html_url": "https://github.com/readthedocs/rtd-sphinx-themes-examples", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 122140694, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjIxNDA2OTQ=\", \"name\": \"rtd-sphinx-themes-examples\", \"full_name\": \"readthedocs/rtd-sphinx-themes-examples\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/rtd-sphinx-themes-examples\", \"description\": \"A project illustrating different Sphinx themes locally and on Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples\", \"forks_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/rtd-sphinx-themes-examples/deployments\", \"created_at\": \"2018-02-20T01:00:13Z\", \"updated_at\": \"2020-05-20T02:44:47Z\", \"pushed_at\": \"2018-02-21T22:34:40Z\", \"git_url\": \"git://github.com/readthedocs/rtd-sphinx-themes-examples.git\", \"ssh_url\": \"git@github.com:readthedocs/rtd-sphinx-themes-examples.git\", \"clone_url\": \"https://github.com/readthedocs/rtd-sphinx-themes-examples.git\", \"svn_url\": \"https://github.com/readthedocs/rtd-sphinx-themes-examples\", \"homepage\": \"https://rtd-sphinx-theme-sample-project.readthedocs.io\", \"size\": 26, \"stargazers_count\": 6, \"watchers_count\": 6, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 14, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 14, \"open_issues\": 0, \"watchers\": 6, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 72, - "fields": { - "pub_date": "2021-01-09T17:46:04.721Z", - "modified_date": "2021-01-09T17:46:04.726Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "common", - "full_name": "readthedocs/common", - "description": "Shared bits around multiple repositories", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/common.git", - "clone_url": "https://github.com/readthedocs/common.git", - "html_url": "https://github.com/readthedocs/common", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 125391103, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjUzOTExMDM=\", \"name\": \"common\", \"full_name\": \"readthedocs/common\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/common\", \"description\": \"Shared bits around multiple repositories\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/common\", \"forks_url\": \"https://api.github.com/repos/readthedocs/common/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/common/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/common/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/common/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/common/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/common/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/common/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/common/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/common/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/common/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/common/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/common/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/common/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/common/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/common/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/common/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/common/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/common/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/common/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/common/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/common/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/common/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/common/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/common/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/common/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/common/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/common/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/common/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/common/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/common/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/common/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/common/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/common/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/common/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/common/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/common/deployments\", \"created_at\": \"2018-03-15T15:52:02Z\", \"updated_at\": \"2020-12-27T21:11:24Z\", \"pushed_at\": \"2021-01-08T16:09:57Z\", \"git_url\": \"git://github.com/readthedocs/common.git\", \"ssh_url\": \"git@github.com:readthedocs/common.git\", \"clone_url\": \"https://github.com/readthedocs/common.git\", \"svn_url\": \"https://github.com/readthedocs/common\", \"homepage\": \"\", \"size\": 135, \"stargazers_count\": 4, \"watchers_count\": 4, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 12, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 10, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 12, \"open_issues\": 10, \"watchers\": 4, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 73, - "fields": { - "pub_date": "2021-01-09T17:46:04.731Z", - "modified_date": "2021-01-09T17:46:04.736Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "ads-for-opensource", - "full_name": "readthedocs/ads-for-opensource", - "description": "An Adblock/AdblockPlus/uBlock compatible filter list for allowing advertising that benefits open source", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/ads-for-opensource.git", - "clone_url": "https://github.com/readthedocs/ads-for-opensource.git", - "html_url": "https://github.com/readthedocs/ads-for-opensource", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 128274886, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjgyNzQ4ODY=\", \"name\": \"ads-for-opensource\", \"full_name\": \"readthedocs/ads-for-opensource\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/ads-for-opensource\", \"description\": \"An Adblock/AdblockPlus/uBlock compatible filter list for allowing advertising that benefits open source\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource\", \"forks_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/ads-for-opensource/deployments\", \"created_at\": \"2018-04-05T23:18:48Z\", \"updated_at\": \"2021-01-01T18:40:58Z\", \"pushed_at\": \"2020-08-29T11:28:46Z\", \"git_url\": \"git://github.com/readthedocs/ads-for-opensource.git\", \"ssh_url\": \"git@github.com:readthedocs/ads-for-opensource.git\", \"clone_url\": \"https://github.com/readthedocs/ads-for-opensource.git\", \"svn_url\": \"https://github.com/readthedocs/ads-for-opensource\", \"homepage\": \"https://ads-for-open-source.readthedocs.io\", \"size\": 753, \"stargazers_count\": 12, \"watchers_count\": 12, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 4, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 4, \"open_issues\": 2, \"watchers\": 12, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 74, - "fields": { - "pub_date": "2021-01-09T17:46:04.741Z", - "modified_date": "2021-01-09T17:46:04.746Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "rtd-mkdocs-test", - "full_name": "readthedocs/rtd-mkdocs-test", - "description": "A Project for testing versions of MkDocs on Read the Docs", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/rtd-mkdocs-test.git", - "clone_url": "https://github.com/readthedocs/rtd-mkdocs-test.git", - "html_url": "https://github.com/readthedocs/rtd-mkdocs-test", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 145741632, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDU3NDE2MzI=\", \"name\": \"rtd-mkdocs-test\", \"full_name\": \"readthedocs/rtd-mkdocs-test\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/rtd-mkdocs-test\", \"description\": \"A Project for testing versions of MkDocs on Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test\", \"forks_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/rtd-mkdocs-test/deployments\", \"created_at\": \"2018-08-22T17:31:13Z\", \"updated_at\": \"2019-07-09T17:36:12Z\", \"pushed_at\": \"2020-10-07T15:59:57Z\", \"git_url\": \"git://github.com/readthedocs/rtd-mkdocs-test.git\", \"ssh_url\": \"git@github.com:readthedocs/rtd-mkdocs-test.git\", \"clone_url\": \"https://github.com/readthedocs/rtd-mkdocs-test.git\", \"svn_url\": \"https://github.com/readthedocs/rtd-mkdocs-test\", \"homepage\": null, \"size\": 12, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 75, - "fields": { - "pub_date": "2021-01-09T17:46:04.751Z", - "modified_date": "2021-01-09T17:46:04.756Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "ethical-ad-server", - "full_name": "readthedocs/ethical-ad-server", - "description": "The ethical ad server - ads for developers without all the tracking", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/ethical-ad-server.git", - "clone_url": "https://github.com/readthedocs/ethical-ad-server.git", - "html_url": "https://github.com/readthedocs/ethical-ad-server", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 146546932, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDY1NDY5MzI=\", \"name\": \"ethical-ad-server\", \"full_name\": \"readthedocs/ethical-ad-server\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/ethical-ad-server\", \"description\": \"The ethical ad server - ads for developers without all the tracking\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server\", \"forks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-server/deployments\", \"created_at\": \"2018-08-29T04:53:39Z\", \"updated_at\": \"2021-01-06T20:47:15Z\", \"pushed_at\": \"2020-12-17T21:52:52Z\", \"git_url\": \"git://github.com/readthedocs/ethical-ad-server.git\", \"ssh_url\": \"git@github.com:readthedocs/ethical-ad-server.git\", \"clone_url\": \"https://github.com/readthedocs/ethical-ad-server.git\", \"svn_url\": \"https://github.com/readthedocs/ethical-ad-server\", \"homepage\": \"https://ethical-ad-server.readthedocs.io\", \"size\": 1670, \"stargazers_count\": 27, \"watchers_count\": 27, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 8, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 15, \"license\": {\"key\": \"agpl-3.0\", \"name\": \"GNU Affero General Public License v3.0\", \"spdx_id\": \"AGPL-3.0\", \"url\": \"https://api.github.com/licenses/agpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTE=\"}, \"forks\": 8, \"open_issues\": 15, \"watchers\": 27, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 76, - "fields": { - "pub_date": "2021-01-09T17:46:04.761Z", - "modified_date": "2021-01-09T17:46:04.767Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "analytical", - "full_name": "readthedocs/analytical", - "description": "Analytics done server side", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/analytical.git", - "clone_url": "https://github.com/readthedocs/analytical.git", - "html_url": "https://github.com/readthedocs/analytical", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 155672177, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTU2NzIxNzc=\", \"name\": \"analytical\", \"full_name\": \"readthedocs/analytical\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/analytical\", \"description\": \"Analytics done server side\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/analytical\", \"forks_url\": \"https://api.github.com/repos/readthedocs/analytical/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/analytical/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/analytical/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/analytical/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/analytical/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/analytical/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/analytical/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/analytical/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/analytical/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/analytical/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/analytical/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/analytical/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/analytical/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/analytical/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/analytical/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/analytical/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/analytical/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/analytical/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/analytical/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/analytical/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/analytical/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/analytical/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/analytical/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/analytical/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/analytical/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/analytical/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/analytical/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/analytical/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/analytical/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/analytical/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/analytical/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/analytical/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/analytical/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/analytical/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/analytical/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/analytical/deployments\", \"created_at\": \"2018-11-01T06:34:38Z\", \"updated_at\": \"2018-11-06T23:04:23Z\", \"pushed_at\": \"2018-11-06T23:04:42Z\", \"git_url\": \"git://github.com/readthedocs/analytical.git\", \"ssh_url\": \"git@github.com:readthedocs/analytical.git\", \"clone_url\": \"https://github.com/readthedocs/analytical.git\", \"svn_url\": \"https://github.com/readthedocs/analytical\", \"homepage\": \"https://analytical.readthedocs.io\", \"size\": 40, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 1, \"open_issues\": 0, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 77, - "fields": { - "pub_date": "2021-01-09T17:46:04.772Z", - "modified_date": "2021-01-09T17:46:04.778Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "test-builds", - "full_name": "readthedocs/test-builds", - "description": "Different scenarios (one per branch) to test different build configs on production", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/test-builds.git", - "clone_url": "https://github.com/readthedocs/test-builds.git", - "html_url": "https://github.com/readthedocs/test-builds", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 160498353, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjA0OTgzNTM=\", \"name\": \"test-builds\", \"full_name\": \"readthedocs/test-builds\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/test-builds\", \"description\": \"Different scenarios (one per branch) to test different build configs on production\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/test-builds\", \"forks_url\": \"https://api.github.com/repos/readthedocs/test-builds/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/test-builds/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/test-builds/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/test-builds/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/test-builds/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/test-builds/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/test-builds/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/test-builds/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/test-builds/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/test-builds/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/test-builds/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/test-builds/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/test-builds/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/test-builds/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/test-builds/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/test-builds/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/test-builds/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/test-builds/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/test-builds/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/test-builds/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/test-builds/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/test-builds/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/test-builds/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/test-builds/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/test-builds/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/test-builds/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/test-builds/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/test-builds/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/test-builds/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/test-builds/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/test-builds/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/test-builds/deployments\", \"created_at\": \"2018-12-05T10:04:35Z\", \"updated_at\": \"2020-09-28T13:30:52Z\", \"pushed_at\": \"2021-01-05T19:28:24Z\", \"git_url\": \"git://github.com/readthedocs/test-builds.git\", \"ssh_url\": \"git@github.com:readthedocs/test-builds.git\", \"clone_url\": \"https://github.com/readthedocs/test-builds.git\", \"svn_url\": \"https://github.com/readthedocs/test-builds\", \"homepage\": \"https://test-builds.readthedocs.io/en/latest/\", \"size\": 1804, \"stargazers_count\": 1, \"watchers_count\": 1, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 7, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 2, \"license\": null, \"forks\": 7, \"open_issues\": 2, \"watchers\": 1, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 78, - "fields": { - "pub_date": "2021-01-09T17:46:04.787Z", - "modified_date": "2021-01-09T17:46:04.797Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "sphinxcontrib-multisrc", - "full_name": "readthedocs/sphinxcontrib-multisrc", - "description": "Sphinx multiple source path support", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/sphinxcontrib-multisrc.git", - "clone_url": "https://github.com/readthedocs/sphinxcontrib-multisrc.git", - "html_url": "https://github.com/readthedocs/sphinxcontrib-multisrc", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 161437063, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjE0MzcwNjM=\", \"name\": \"sphinxcontrib-multisrc\", \"full_name\": \"readthedocs/sphinxcontrib-multisrc\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinxcontrib-multisrc\", \"description\": \"Sphinx multiple source path support\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinxcontrib-multisrc/deployments\", \"created_at\": \"2018-12-12T05:26:34Z\", \"updated_at\": \"2020-10-20T09:59:52Z\", \"pushed_at\": \"2018-12-12T05:27:04Z\", \"git_url\": \"git://github.com/readthedocs/sphinxcontrib-multisrc.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinxcontrib-multisrc.git\", \"clone_url\": \"https://github.com/readthedocs/sphinxcontrib-multisrc.git\", \"svn_url\": \"https://github.com/readthedocs/sphinxcontrib-multisrc\", \"homepage\": null, \"size\": 6, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 79, - "fields": { - "pub_date": "2021-01-09T17:46:04.807Z", - "modified_date": "2021-01-09T17:46:04.818Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "sphinx-notfound-page", - "full_name": "readthedocs/sphinx-notfound-page", - "description": "Create a custom 404 page with absolute URLs hardcoded", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/sphinx-notfound-page.git", - "clone_url": "https://github.com/readthedocs/sphinx-notfound-page.git", - "html_url": "https://github.com/readthedocs/sphinx-notfound-page", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 166539299, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjY1MzkyOTk=\", \"name\": \"sphinx-notfound-page\", \"full_name\": \"readthedocs/sphinx-notfound-page\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx-notfound-page\", \"description\": \"Create a custom 404 page with absolute URLs hardcoded\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx-notfound-page/deployments\", \"created_at\": \"2019-01-19T11:30:38Z\", \"updated_at\": \"2021-01-05T14:08:17Z\", \"pushed_at\": \"2021-01-08T06:36:06Z\", \"git_url\": \"git://github.com/readthedocs/sphinx-notfound-page.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx-notfound-page.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx-notfound-page.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx-notfound-page\", \"homepage\": \"https://sphinx-notfound-page.readthedocs.io/\", \"size\": 173, \"stargazers_count\": 11, \"watchers_count\": 11, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 15, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 6, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 15, \"open_issues\": 6, \"watchers\": 11, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 80, - "fields": { - "pub_date": "2021-01-09T17:46:04.828Z", - "modified_date": "2021-01-09T17:46:04.838Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "django-storages", - "full_name": "readthedocs/django-storages", - "description": "https://django-storages.readthedocs.io/", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/django-storages.git", - "clone_url": "https://github.com/readthedocs/django-storages.git", - "html_url": "https://github.com/readthedocs/django-storages", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 172972465, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNzI5NzI0NjU=\", \"name\": \"django-storages\", \"full_name\": \"readthedocs/django-storages\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/django-storages\", \"description\": \"https://django-storages.readthedocs.io/\", \"fork\": true, \"url\": \"https://api.github.com/repos/readthedocs/django-storages\", \"forks_url\": \"https://api.github.com/repos/readthedocs/django-storages/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/django-storages/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/django-storages/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/django-storages/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/django-storages/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/django-storages/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/django-storages/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/django-storages/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/django-storages/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/django-storages/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/django-storages/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/django-storages/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/django-storages/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/django-storages/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/django-storages/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/django-storages/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/django-storages/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/django-storages/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/django-storages/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/django-storages/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/django-storages/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/django-storages/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/django-storages/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/django-storages/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/django-storages/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/django-storages/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/django-storages/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/django-storages/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/django-storages/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/django-storages/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/django-storages/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/django-storages/deployments\", \"created_at\": \"2019-02-27T19:00:59Z\", \"updated_at\": \"2019-03-01T06:09:01Z\", \"pushed_at\": \"2019-03-01T06:08:58Z\", \"git_url\": \"git://github.com/readthedocs/django-storages.git\", \"ssh_url\": \"git@github.com:readthedocs/django-storages.git\", \"clone_url\": \"https://github.com/readthedocs/django-storages.git\", \"svn_url\": \"https://github.com/readthedocs/django-storages\", \"homepage\": \"\", \"size\": 1269, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"other\", \"name\": \"Other\", \"spdx_id\": \"NOASSERTION\", \"url\": null, \"node_id\": \"MDc6TGljZW5zZTA=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 81, - "fields": { - "pub_date": "2021-01-09T17:46:04.848Z", - "modified_date": "2021-01-09T17:46:04.858Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "sphinx-hoverxref", - "full_name": "readthedocs/sphinx-hoverxref", - "description": "Tooltip with content embedded when hover an internal reference", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/sphinx-hoverxref.git", - "clone_url": "https://github.com/readthedocs/sphinx-hoverxref.git", - "html_url": "https://github.com/readthedocs/sphinx-hoverxref", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 189852444, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODk4NTI0NDQ=\", \"name\": \"sphinx-hoverxref\", \"full_name\": \"readthedocs/sphinx-hoverxref\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/sphinx-hoverxref\", \"description\": \"Tooltip with content embedded when hover an internal reference\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref\", \"forks_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/sphinx-hoverxref/deployments\", \"created_at\": \"2019-06-02T13:52:53Z\", \"updated_at\": \"2020-11-25T13:41:31Z\", \"pushed_at\": \"2021-01-04T19:47:05Z\", \"git_url\": \"git://github.com/readthedocs/sphinx-hoverxref.git\", \"ssh_url\": \"git@github.com:readthedocs/sphinx-hoverxref.git\", \"clone_url\": \"https://github.com/readthedocs/sphinx-hoverxref.git\", \"svn_url\": \"https://github.com/readthedocs/sphinx-hoverxref\", \"homepage\": \"https://sphinx-hoverxref.readthedocs.io/\", \"size\": 379, \"stargazers_count\": 18, \"watchers_count\": 18, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 13, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 23, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 13, \"open_issues\": 23, \"watchers\": 18, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 82, - "fields": { - "pub_date": "2021-01-09T17:46:04.877Z", - "modified_date": "2021-01-09T17:46:04.888Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "rtd-git-stresstest", - "full_name": "readthedocs/rtd-git-stresstest", - "description": "A stress test for git on Read the Docs", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/rtd-git-stresstest.git", - "clone_url": "https://github.com/readthedocs/rtd-git-stresstest.git", - "html_url": "https://github.com/readthedocs/rtd-git-stresstest", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 240139317, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNDAxMzkzMTc=\", \"name\": \"rtd-git-stresstest\", \"full_name\": \"readthedocs/rtd-git-stresstest\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/rtd-git-stresstest\", \"description\": \"A stress test for git on Read the Docs\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest\", \"forks_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/rtd-git-stresstest/deployments\", \"created_at\": \"2020-02-12T23:49:21Z\", \"updated_at\": \"2020-02-13T03:47:24Z\", \"pushed_at\": \"2020-02-13T03:47:21Z\", \"git_url\": \"git://github.com/readthedocs/rtd-git-stresstest.git\", \"ssh_url\": \"git@github.com:readthedocs/rtd-git-stresstest.git\", \"clone_url\": \"https://github.com/readthedocs/rtd-git-stresstest.git\", \"svn_url\": \"https://github.com/readthedocs/rtd-git-stresstest\", \"homepage\": null, \"size\": 22161, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Python\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 83, - "fields": { - "pub_date": "2021-01-09T17:46:04.897Z", - "modified_date": "2021-01-09T17:46:04.908Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "ethical-ad-client", - "full_name": "readthedocs/ethical-ad-client", - "description": "Ethical Ads JavaScript client", - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/ethical-ad-client.git", - "clone_url": "https://github.com/readthedocs/ethical-ad-client.git", - "html_url": "https://github.com/readthedocs/ethical-ad-client", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 276430121, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzY0MzAxMjE=\", \"name\": \"ethical-ad-client\", \"full_name\": \"readthedocs/ethical-ad-client\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/ethical-ad-client\", \"description\": \"Ethical Ads JavaScript client\", \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client\", \"forks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/ethical-ad-client/deployments\", \"created_at\": \"2020-07-01T16:35:26Z\", \"updated_at\": \"2021-01-08T00:19:35Z\", \"pushed_at\": \"2020-12-12T23:55:22Z\", \"git_url\": \"git://github.com/readthedocs/ethical-ad-client.git\", \"ssh_url\": \"git@github.com:readthedocs/ethical-ad-client.git\", \"clone_url\": \"https://github.com/readthedocs/ethical-ad-client.git\", \"svn_url\": \"https://github.com/readthedocs/ethical-ad-client\", \"homepage\": \"https://ethical-ad-client.readthedocs.io/en/latest/\", \"size\": 416, \"stargazers_count\": 12, \"watchers_count\": 12, \"language\": \"JavaScript\", \"has_issues\": true, \"has_projects\": false, \"has_downloads\": true, \"has_wiki\": false, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 13, \"license\": null, \"forks\": 0, \"open_issues\": 13, \"watchers\": 12, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 84, - "fields": { - "pub_date": "2021-01-09T17:46:04.918Z", - "modified_date": "2021-01-09T17:46:04.930Z", - "account": 1, - "organization": 1, - "active": false, - "project": null, - "name": "test-main-branch", - "full_name": "readthedocs/test-main-branch", - "description": null, - "avatar_url": "https://avatars2.githubusercontent.com/u/366329?v=4", - "ssh_url": "git@github.com:readthedocs/test-main-branch.git", - "clone_url": "https://github.com/readthedocs/test-main-branch.git", - "html_url": "https://github.com/readthedocs/test-main-branch", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "main", - "json": "{\"id\": 327104379, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMjcxMDQzNzk=\", \"name\": \"test-main-branch\", \"full_name\": \"readthedocs/test-main-branch\", \"private\": false, \"owner\": {\"login\": \"readthedocs\", \"id\": 366329, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjM2NjMyOQ==\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/366329?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/readthedocs\", \"html_url\": \"https://github.com/readthedocs\", \"followers_url\": \"https://api.github.com/users/readthedocs/followers\", \"following_url\": \"https://api.github.com/users/readthedocs/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/readthedocs/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/readthedocs/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/readthedocs/subscriptions\", \"organizations_url\": \"https://api.github.com/users/readthedocs/orgs\", \"repos_url\": \"https://api.github.com/users/readthedocs/repos\", \"events_url\": \"https://api.github.com/users/readthedocs/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/readthedocs/received_events\", \"type\": \"Organization\", \"site_admin\": false}, \"html_url\": \"https://github.com/readthedocs/test-main-branch\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/readthedocs/test-main-branch\", \"forks_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/forks\", \"keys_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/teams\", \"hooks_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/hooks\", \"issue_events_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/events\", \"assignees_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/tags\", \"blobs_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/languages\", \"stargazers_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/stargazers\", \"contributors_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/contributors\", \"subscribers_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/subscribers\", \"subscription_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/subscription\", \"commits_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/merges\", \"archive_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/downloads\", \"issues_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/readthedocs/test-main-branch/deployments\", \"created_at\": \"2021-01-05T19:54:57Z\", \"updated_at\": \"2021-01-05T19:55:05Z\", \"pushed_at\": \"2021-01-05T19:55:45Z\", \"git_url\": \"git://github.com/readthedocs/test-main-branch.git\", \"ssh_url\": \"git@github.com:readthedocs/test-main-branch.git\", \"clone_url\": \"https://github.com/readthedocs/test-main-branch.git\", \"svn_url\": \"https://github.com/readthedocs/test-main-branch\", \"homepage\": null, \"size\": 8, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"main\", \"permissions\": {\"admin\": false, \"push\": false, \"pull\": true}}", - "users": [ - 2 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 85, - "fields": { - "pub_date": "2021-01-09T17:46:11.236Z", - "modified_date": "2021-01-09T17:46:11.252Z", - "account": 2, - "organization": null, - "active": false, - "project": null, - "name": "changelog-ci", - "full_name": "saadmk-test/changelog-ci", - "description": "Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.", - "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", - "ssh_url": "git@github.com:saadmk-test/changelog-ci.git", - "clone_url": "https://github.com/saadmk-test/changelog-ci.git", - "html_url": "https://github.com/saadmk-test/changelog-ci", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 298590802, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1OTA4MDI=\", \"name\": \"changelog-ci\", \"full_name\": \"saadmk-test/changelog-ci\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/changelog-ci\", \"description\": \"Changelog CI is a GitHub Action that generates changelog, Then the changelog is committed and/or commented to the release Pull request.\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk-test/changelog-ci\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/changelog-ci/deployments\", \"created_at\": \"2020-09-25T14:07:55Z\", \"updated_at\": \"2020-09-25T14:07:57Z\", \"pushed_at\": \"2020-09-22T08:51:37Z\", \"git_url\": \"git://github.com/saadmk-test/changelog-ci.git\", \"ssh_url\": \"git@github.com:saadmk-test/changelog-ci.git\", \"clone_url\": \"https://github.com/saadmk-test/changelog-ci.git\", \"svn_url\": \"https://github.com/saadmk-test/changelog-ci\", \"homepage\": \"https://github.com/marketplace/actions/changelog-ci\", \"size\": 75, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"mit\", \"name\": \"MIT License\", \"spdx_id\": \"MIT\", \"url\": \"https://api.github.com/licenses/mit\", \"node_id\": \"MDc6TGljZW5zZTEz\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 3 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 86, - "fields": { - "pub_date": "2021-01-09T17:46:11.257Z", - "modified_date": "2021-01-09T17:46:11.265Z", - "account": 2, - "organization": null, - "active": false, - "project": null, - "name": "django-newsfeed", - "full_name": "saadmk-test/django-newsfeed", - "description": "A news curator and newsletter subscription package for Django", - "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", - "ssh_url": "git@github.com:saadmk-test/django-newsfeed.git", - "clone_url": "https://github.com/saadmk-test/django-newsfeed.git", - "html_url": "https://github.com/saadmk-test/django-newsfeed", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 298590926, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1OTA5MjY=\", \"name\": \"django-newsfeed\", \"full_name\": \"saadmk-test/django-newsfeed\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/django-newsfeed\", \"description\": \"A news curator and newsletter subscription package for Django\", \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/django-newsfeed/deployments\", \"created_at\": \"2020-09-25T14:08:21Z\", \"updated_at\": \"2020-09-25T14:08:23Z\", \"pushed_at\": \"2020-09-23T08:13:26Z\", \"git_url\": \"git://github.com/saadmk-test/django-newsfeed.git\", \"ssh_url\": \"git@github.com:saadmk-test/django-newsfeed.git\", \"clone_url\": \"https://github.com/saadmk-test/django-newsfeed.git\", \"svn_url\": \"https://github.com/saadmk-test/django-newsfeed\", \"homepage\": \"https://pypi.org/project/django-newsfeed/\", \"size\": 126, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": {\"key\": \"gpl-3.0\", \"name\": \"GNU General Public License v3.0\", \"spdx_id\": \"GPL-3.0\", \"url\": \"https://api.github.com/licenses/gpl-3.0\", \"node_id\": \"MDc6TGljZW5zZTk=\"}, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 3 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 87, - "fields": { - "pub_date": "2021-01-09T17:46:11.269Z", - "modified_date": "2021-01-09T17:46:11.274Z", - "account": 2, - "organization": null, - "active": false, - "project": null, - "name": "test", - "full_name": "saadmk-test/test", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", - "ssh_url": "git@github.com:saadmk-test/test.git", - "clone_url": "https://github.com/saadmk-test/test.git", - "html_url": "https://github.com/saadmk-test/test", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 295183743, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTUxODM3NDM=\", \"name\": \"test\", \"full_name\": \"saadmk-test/test\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/test\", \"description\": null, \"fork\": true, \"url\": \"https://api.github.com/repos/saadmk-test/test\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/test/deployments\", \"created_at\": \"2020-09-13T15:47:21Z\", \"updated_at\": \"2020-09-13T15:47:23Z\", \"pushed_at\": \"2020-09-13T16:28:32Z\", \"git_url\": \"git://github.com/saadmk-test/test.git\", \"ssh_url\": \"git@github.com:saadmk-test/test.git\", \"clone_url\": \"https://github.com/saadmk-test/test.git\", \"svn_url\": \"https://github.com/saadmk-test/test\", \"homepage\": null, \"size\": 129, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": false, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 3 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 88, - "fields": { - "pub_date": "2021-01-09T17:46:11.278Z", - "modified_date": "2021-01-09T17:46:11.283Z", - "account": 2, - "organization": null, - "active": false, - "project": null, - "name": "test-actions", - "full_name": "saadmk-test/test-actions", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", - "ssh_url": "git@github.com:saadmk-test/test-actions.git", - "clone_url": "https://github.com/saadmk-test/test-actions.git", - "html_url": "https://github.com/saadmk-test/test-actions", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 298571685, \"node_id\": \"MDEwOlJlcG9zaXRvcnkyOTg1NzE2ODU=\", \"name\": \"test-actions\", \"full_name\": \"saadmk-test/test-actions\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/test-actions\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk-test/test-actions\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/test-actions/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/test-actions/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/test-actions/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/test-actions/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/test-actions/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/test-actions/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/test-actions/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/test-actions/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/test-actions/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/test-actions/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/test-actions/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/test-actions/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/test-actions/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/test-actions/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/test-actions/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/test-actions/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/test-actions/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/test-actions/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/test-actions/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/test-actions/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/test-actions/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/test-actions/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/test-actions/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/test-actions/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/test-actions/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/test-actions/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/test-actions/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/test-actions/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/test-actions/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/test-actions/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/test-actions/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/test-actions/deployments\", \"created_at\": \"2020-09-25T12:51:24Z\", \"updated_at\": \"2020-09-25T13:57:09Z\", \"pushed_at\": \"2020-09-25T13:57:07Z\", \"git_url\": \"git://github.com/saadmk-test/test-actions.git\", \"ssh_url\": \"git@github.com:saadmk-test/test-actions.git\", \"clone_url\": \"https://github.com/saadmk-test/test-actions.git\", \"svn_url\": \"https://github.com/saadmk-test/test-actions\", \"homepage\": null, \"size\": 5, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 0, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 3 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 89, - "fields": { - "pub_date": "2021-01-09T17:46:11.286Z", - "modified_date": "2021-01-09T17:46:11.289Z", - "account": 2, - "organization": null, - "active": false, - "project": null, - "name": "test-ci-public", - "full_name": "saadmk-test/test-ci-public", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/71221755?v=4", - "ssh_url": "git@github.com:saadmk-test/test-ci-public.git", - "clone_url": "https://github.com/saadmk-test/test-ci-public.git", - "html_url": "https://github.com/saadmk-test/test-ci-public", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "main", - "json": "{\"id\": 303678283, \"node_id\": \"MDEwOlJlcG9zaXRvcnkzMDM2NzgyODM=\", \"name\": \"test-ci-public\", \"full_name\": \"saadmk-test/test-ci-public\", \"private\": false, \"owner\": {\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk-test/test-ci-public\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk-test/test-ci-public\", \"forks_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk-test/test-ci-public/deployments\", \"created_at\": \"2020-10-13T11:18:33Z\", \"updated_at\": \"2020-10-13T11:23:00Z\", \"pushed_at\": \"2020-10-13T11:24:35Z\", \"git_url\": \"git://github.com/saadmk-test/test-ci-public.git\", \"ssh_url\": \"git@github.com:saadmk-test/test-ci-public.git\", \"clone_url\": \"https://github.com/saadmk-test/test-ci-public.git\", \"svn_url\": \"https://github.com/saadmk-test/test-ci-public\", \"homepage\": null, \"size\": 4, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": null, \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 0, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 1, \"license\": null, \"forks\": 0, \"open_issues\": 1, \"watchers\": 0, \"default_branch\": \"main\", \"permissions\": {\"admin\": true, \"push\": true, \"pull\": true}}", - "users": [ - 3 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 90, - "fields": { - "pub_date": "2021-01-09T17:46:11.292Z", - "modified_date": "2021-01-09T17:46:11.297Z", - "account": 2, - "organization": null, - "active": false, - "project": null, - "name": "test", - "full_name": "saadmk11/test", - "description": null, - "avatar_url": "https://avatars3.githubusercontent.com/u/24854406?v=4", - "ssh_url": "git@github.com:saadmk11/test.git", - "clone_url": "https://github.com/saadmk11/test.git", - "html_url": "https://github.com/saadmk11/test", - "private": false, - "admin": false, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 180540525, \"node_id\": \"MDEwOlJlcG9zaXRvcnkxODA1NDA1MjU=\", \"name\": \"test\", \"full_name\": \"saadmk11/test\", \"private\": false, \"owner\": {\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false}, \"html_url\": \"https://github.com/saadmk11/test\", \"description\": null, \"fork\": false, \"url\": \"https://api.github.com/repos/saadmk11/test\", \"forks_url\": \"https://api.github.com/repos/saadmk11/test/forks\", \"keys_url\": \"https://api.github.com/repos/saadmk11/test/keys{/key_id}\", \"collaborators_url\": \"https://api.github.com/repos/saadmk11/test/collaborators{/collaborator}\", \"teams_url\": \"https://api.github.com/repos/saadmk11/test/teams\", \"hooks_url\": \"https://api.github.com/repos/saadmk11/test/hooks\", \"issue_events_url\": \"https://api.github.com/repos/saadmk11/test/issues/events{/number}\", \"events_url\": \"https://api.github.com/repos/saadmk11/test/events\", \"assignees_url\": \"https://api.github.com/repos/saadmk11/test/assignees{/user}\", \"branches_url\": \"https://api.github.com/repos/saadmk11/test/branches{/branch}\", \"tags_url\": \"https://api.github.com/repos/saadmk11/test/tags\", \"blobs_url\": \"https://api.github.com/repos/saadmk11/test/git/blobs{/sha}\", \"git_tags_url\": \"https://api.github.com/repos/saadmk11/test/git/tags{/sha}\", \"git_refs_url\": \"https://api.github.com/repos/saadmk11/test/git/refs{/sha}\", \"trees_url\": \"https://api.github.com/repos/saadmk11/test/git/trees{/sha}\", \"statuses_url\": \"https://api.github.com/repos/saadmk11/test/statuses/{sha}\", \"languages_url\": \"https://api.github.com/repos/saadmk11/test/languages\", \"stargazers_url\": \"https://api.github.com/repos/saadmk11/test/stargazers\", \"contributors_url\": \"https://api.github.com/repos/saadmk11/test/contributors\", \"subscribers_url\": \"https://api.github.com/repos/saadmk11/test/subscribers\", \"subscription_url\": \"https://api.github.com/repos/saadmk11/test/subscription\", \"commits_url\": \"https://api.github.com/repos/saadmk11/test/commits{/sha}\", \"git_commits_url\": \"https://api.github.com/repos/saadmk11/test/git/commits{/sha}\", \"comments_url\": \"https://api.github.com/repos/saadmk11/test/comments{/number}\", \"issue_comment_url\": \"https://api.github.com/repos/saadmk11/test/issues/comments{/number}\", \"contents_url\": \"https://api.github.com/repos/saadmk11/test/contents/{+path}\", \"compare_url\": \"https://api.github.com/repos/saadmk11/test/compare/{base}...{head}\", \"merges_url\": \"https://api.github.com/repos/saadmk11/test/merges\", \"archive_url\": \"https://api.github.com/repos/saadmk11/test/{archive_format}{/ref}\", \"downloads_url\": \"https://api.github.com/repos/saadmk11/test/downloads\", \"issues_url\": \"https://api.github.com/repos/saadmk11/test/issues{/number}\", \"pulls_url\": \"https://api.github.com/repos/saadmk11/test/pulls{/number}\", \"milestones_url\": \"https://api.github.com/repos/saadmk11/test/milestones{/number}\", \"notifications_url\": \"https://api.github.com/repos/saadmk11/test/notifications{?since,all,participating}\", \"labels_url\": \"https://api.github.com/repos/saadmk11/test/labels{/name}\", \"releases_url\": \"https://api.github.com/repos/saadmk11/test/releases{/id}\", \"deployments_url\": \"https://api.github.com/repos/saadmk11/test/deployments\", \"created_at\": \"2019-04-10T08:45:58Z\", \"updated_at\": \"2020-12-09T07:15:02Z\", \"pushed_at\": \"2020-12-09T07:18:23Z\", \"git_url\": \"git://github.com/saadmk11/test.git\", \"ssh_url\": \"git@github.com:saadmk11/test.git\", \"clone_url\": \"https://github.com/saadmk11/test.git\", \"svn_url\": \"https://github.com/saadmk11/test\", \"homepage\": null, \"size\": 142, \"stargazers_count\": 0, \"watchers_count\": 0, \"language\": \"Shell\", \"has_issues\": true, \"has_projects\": true, \"has_downloads\": true, \"has_wiki\": true, \"has_pages\": false, \"forks_count\": 1, \"mirror_url\": null, \"archived\": false, \"disabled\": false, \"open_issues_count\": 0, \"license\": null, \"forks\": 1, \"open_issues\": 0, \"watchers\": 0, \"default_branch\": \"master\", \"permissions\": {\"admin\": false, \"push\": true, \"pull\": true}}", - "users": [ - 3 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 91, - "fields": { - "pub_date": "2021-01-09T17:46:16.986Z", - "modified_date": "2021-01-09T17:46:17.001Z", - "account": 3, - "organization": null, - "active": false, - "project": null, - "name": "test", - "full_name": "Maksudul Haque / test", - "description": "", - "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/1870954/avatar.png", - "ssh_url": "git@gitlab.com:saadmk11/test.git", - "clone_url": "https://gitlab.com/saadmk11/test.git", - "html_url": "https://gitlab.com/saadmk11/test", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 13716530, \"description\": \"\", \"name\": \"test\", \"name_with_namespace\": \"Maksudul Haque / test\", \"path\": \"test\", \"path_with_namespace\": \"saadmk11/test\", \"created_at\": \"2019-08-08T11:11:32.658Z\", \"default_branch\": \"master\", \"tag_list\": [], \"ssh_url_to_repo\": \"git@gitlab.com:saadmk11/test.git\", \"http_url_to_repo\": \"https://gitlab.com/saadmk11/test.git\", \"web_url\": \"https://gitlab.com/saadmk11/test\", \"readme_url\": \"https://gitlab.com/saadmk11/test/-/blob/master/README.md\", \"avatar_url\": null, \"forks_count\": 1, \"star_count\": 0, \"last_activity_at\": \"2020-08-15T17:17:14.008Z\", \"namespace\": {\"id\": 2310580, \"name\": \"Maksudul Haque\", \"path\": \"saadmk11\", \"kind\": \"user\", \"full_path\": \"saadmk11\", \"parent_id\": null, \"avatar_url\": \"/uploads/-/system/user/avatar/1870954/avatar.png\", \"web_url\": \"https://gitlab.com/saadmk11\"}, \"_links\": {\"self\": \"https://gitlab.com/api/v4/projects/13716530\", \"issues\": \"https://gitlab.com/api/v4/projects/13716530/issues\", \"merge_requests\": \"https://gitlab.com/api/v4/projects/13716530/merge_requests\", \"repo_branches\": \"https://gitlab.com/api/v4/projects/13716530/repository/branches\", \"labels\": \"https://gitlab.com/api/v4/projects/13716530/labels\", \"events\": \"https://gitlab.com/api/v4/projects/13716530/events\", \"members\": \"https://gitlab.com/api/v4/projects/13716530/members\"}, \"packages_enabled\": true, \"empty_repo\": false, \"archived\": false, \"visibility\": \"public\", \"owner\": {\"id\": 1870954, \"name\": \"Maksudul Haque\", \"username\": \"saadmk11\", \"state\": \"active\", \"avatar_url\": \"https://assets.gitlab-static.net/uploads/-/system/user/avatar/1870954/avatar.png\", \"web_url\": \"https://gitlab.com/saadmk11\"}, \"resolve_outdated_diff_discussions\": false, \"container_registry_enabled\": true, \"issues_enabled\": true, \"merge_requests_enabled\": true, \"wiki_enabled\": true, \"jobs_enabled\": true, \"snippets_enabled\": true, \"service_desk_enabled\": true, \"service_desk_address\": \"incoming+saadmk11-test-13716530-issue-@incoming.gitlab.com\", \"can_create_merge_request_in\": true, \"issues_access_level\": \"enabled\", \"repository_access_level\": \"enabled\", \"merge_requests_access_level\": \"enabled\", \"forking_access_level\": \"enabled\", \"wiki_access_level\": \"enabled\", \"builds_access_level\": \"enabled\", \"snippets_access_level\": \"enabled\", \"pages_access_level\": \"enabled\", \"operations_access_level\": \"enabled\", \"analytics_access_level\": \"enabled\", \"emails_disabled\": null, \"shared_runners_enabled\": true, \"lfs_enabled\": true, \"creator_id\": 1870954, \"import_status\": \"none\", \"open_issues_count\": 0, \"ci_default_git_depth\": 50, \"ci_forward_deployment_enabled\": null, \"public_jobs\": true, \"build_timeout\": 3600, \"auto_cancel_pending_pipelines\": \"enabled\", \"build_coverage_regex\": null, \"ci_config_path\": null, \"shared_with_groups\": [], \"only_allow_merge_if_pipeline_succeeds\": false, \"allow_merge_on_skipped_pipeline\": null, \"request_access_enabled\": false, \"only_allow_merge_if_all_discussions_are_resolved\": false, \"remove_source_branch_after_merge\": null, \"printing_merge_request_link_enabled\": true, \"merge_method\": \"merge\", \"suggestion_commit_message\": null, \"auto_devops_enabled\": false, \"auto_devops_deploy_strategy\": \"continuous\", \"autoclose_referenced_issues\": true, \"approvals_before_merge\": 0, \"mirror\": false, \"external_authorization_classification_label\": \"\", \"marked_for_deletion_at\": null, \"marked_for_deletion_on\": null, \"requirements_enabled\": true, \"compliance_frameworks\": [], \"permissions\": {\"project_access\": {\"access_level\": 40, \"notification_level\": 3}, \"group_access\": null}}", - "users": [ - 4 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 92, - "fields": { - "pub_date": "2021-01-09T17:46:17.006Z", - "modified_date": "2021-01-09T17:46:19.509Z", - "account": 3, - "organization": 3, - "active": false, - "project": null, - "name": "test-project", - "full_name": "saadmk11-group / test-project", - "description": "", - "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", - "ssh_url": "git@gitlab.com:saadmk11-group/test-project.git", - "clone_url": "https://gitlab.com/saadmk11-group/test-project.git", - "html_url": "https://gitlab.com/saadmk11-group/test-project", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 23121473, \"description\": \"\", \"name\": \"test-project\", \"name_with_namespace\": \"saadmk11-group / test-project\", \"path\": \"test-project\", \"path_with_namespace\": \"saadmk11-group/test-project\", \"created_at\": \"2020-12-15T14:48:31.001Z\", \"default_branch\": \"master\", \"tag_list\": [], \"ssh_url_to_repo\": \"git@gitlab.com:saadmk11-group/test-project.git\", \"http_url_to_repo\": \"https://gitlab.com/saadmk11-group/test-project.git\", \"web_url\": \"https://gitlab.com/saadmk11-group/test-project\", \"readme_url\": \"https://gitlab.com/saadmk11-group/test-project/-/blob/master/README.md\", \"avatar_url\": null, \"forks_count\": 0, \"star_count\": 0, \"last_activity_at\": \"2020-12-15T14:48:31.001Z\", \"namespace\": {\"id\": 10411125, \"name\": \"saadmk11-group\", \"path\": \"saadmk11-group\", \"kind\": \"group\", \"full_path\": \"saadmk11-group\", \"parent_id\": null, \"avatar_url\": null, \"web_url\": \"https://gitlab.com/groups/saadmk11-group\"}, \"_links\": {\"self\": \"https://gitlab.com/api/v4/projects/23121473\", \"issues\": \"https://gitlab.com/api/v4/projects/23121473/issues\", \"merge_requests\": \"https://gitlab.com/api/v4/projects/23121473/merge_requests\", \"repo_branches\": \"https://gitlab.com/api/v4/projects/23121473/repository/branches\", \"labels\": \"https://gitlab.com/api/v4/projects/23121473/labels\", \"events\": \"https://gitlab.com/api/v4/projects/23121473/events\", \"members\": \"https://gitlab.com/api/v4/projects/23121473/members\"}, \"packages_enabled\": true, \"empty_repo\": false, \"archived\": false, \"visibility\": \"public\", \"resolve_outdated_diff_discussions\": false, \"container_registry_enabled\": true, \"container_expiration_policy\": {\"cadence\": \"1d\", \"enabled\": false, \"keep_n\": 10, \"older_than\": \"90d\", \"name_regex\": \".*\", \"name_regex_keep\": null, \"next_run_at\": \"2020-12-16T14:48:31.019Z\"}, \"issues_enabled\": true, \"merge_requests_enabled\": true, \"wiki_enabled\": true, \"jobs_enabled\": true, \"snippets_enabled\": true, \"service_desk_enabled\": true, \"service_desk_address\": \"incoming+saadmk11-group-test-project-23121473-issue-@incoming.gitlab.com\", \"can_create_merge_request_in\": true, \"issues_access_level\": \"enabled\", \"repository_access_level\": \"enabled\", \"merge_requests_access_level\": \"enabled\", \"forking_access_level\": \"enabled\", \"wiki_access_level\": \"enabled\", \"builds_access_level\": \"enabled\", \"snippets_access_level\": \"enabled\", \"pages_access_level\": \"enabled\", \"operations_access_level\": \"enabled\", \"analytics_access_level\": \"enabled\", \"emails_disabled\": null, \"shared_runners_enabled\": true, \"lfs_enabled\": true, \"creator_id\": 1870954, \"import_status\": \"none\", \"import_error\": null, \"open_issues_count\": 0, \"runners_token\": \"SyMF3LEDGTxqmb8Lchzj\", \"ci_default_git_depth\": 50, \"ci_forward_deployment_enabled\": true, \"public_jobs\": true, \"build_git_strategy\": \"fetch\", \"build_timeout\": 3600, \"auto_cancel_pending_pipelines\": \"enabled\", \"build_coverage_regex\": null, \"ci_config_path\": \"\", \"shared_with_groups\": [], \"only_allow_merge_if_pipeline_succeeds\": false, \"allow_merge_on_skipped_pipeline\": null, \"request_access_enabled\": true, \"only_allow_merge_if_all_discussions_are_resolved\": false, \"remove_source_branch_after_merge\": true, \"printing_merge_request_link_enabled\": true, \"merge_method\": \"merge\", \"suggestion_commit_message\": null, \"auto_devops_enabled\": false, \"auto_devops_deploy_strategy\": \"continuous\", \"autoclose_referenced_issues\": true, \"approvals_before_merge\": 0, \"mirror\": false, \"external_authorization_classification_label\": \"\", \"marked_for_deletion_at\": null, \"marked_for_deletion_on\": null, \"requirements_enabled\": true, \"compliance_frameworks\": [], \"permissions\": {\"project_access\": null, \"group_access\": {\"access_level\": 50, \"notification_level\": 3}}}", - "users": [ - 4 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 93, - "fields": { - "pub_date": "2021-01-09T17:46:17.014Z", - "modified_date": "2021-01-09T17:46:19.917Z", - "account": 3, - "organization": 3, - "active": false, - "project": null, - "name": "test-project2", - "full_name": "saadmk11-group / test-project2", - "description": "", - "avatar_url": "https://assets.readthedocs.org/static/images/silhouette.png", - "ssh_url": "git@gitlab.com:saadmk11-group/test-project2.git", - "clone_url": "https://gitlab.com/saadmk11-group/test-project2.git", - "html_url": "https://gitlab.com/saadmk11-group/test-project2", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"id\": 23121535, \"description\": \"\", \"name\": \"test-project2\", \"name_with_namespace\": \"saadmk11-group / test-project2\", \"path\": \"test-project2\", \"path_with_namespace\": \"saadmk11-group/test-project2\", \"created_at\": \"2020-12-15T14:49:25.365Z\", \"default_branch\": \"master\", \"tag_list\": [], \"ssh_url_to_repo\": \"git@gitlab.com:saadmk11-group/test-project2.git\", \"http_url_to_repo\": \"https://gitlab.com/saadmk11-group/test-project2.git\", \"web_url\": \"https://gitlab.com/saadmk11-group/test-project2\", \"readme_url\": \"https://gitlab.com/saadmk11-group/test-project2/-/blob/master/README.md\", \"avatar_url\": null, \"forks_count\": 0, \"star_count\": 0, \"last_activity_at\": \"2020-12-15T14:49:25.365Z\", \"namespace\": {\"id\": 10411125, \"name\": \"saadmk11-group\", \"path\": \"saadmk11-group\", \"kind\": \"group\", \"full_path\": \"saadmk11-group\", \"parent_id\": null, \"avatar_url\": null, \"web_url\": \"https://gitlab.com/groups/saadmk11-group\"}, \"_links\": {\"self\": \"https://gitlab.com/api/v4/projects/23121535\", \"issues\": \"https://gitlab.com/api/v4/projects/23121535/issues\", \"merge_requests\": \"https://gitlab.com/api/v4/projects/23121535/merge_requests\", \"repo_branches\": \"https://gitlab.com/api/v4/projects/23121535/repository/branches\", \"labels\": \"https://gitlab.com/api/v4/projects/23121535/labels\", \"events\": \"https://gitlab.com/api/v4/projects/23121535/events\", \"members\": \"https://gitlab.com/api/v4/projects/23121535/members\"}, \"packages_enabled\": true, \"empty_repo\": false, \"archived\": false, \"visibility\": \"public\", \"resolve_outdated_diff_discussions\": false, \"container_registry_enabled\": true, \"container_expiration_policy\": {\"cadence\": \"1d\", \"enabled\": false, \"keep_n\": 10, \"older_than\": \"90d\", \"name_regex\": \".*\", \"name_regex_keep\": null, \"next_run_at\": \"2020-12-16T14:49:25.385Z\"}, \"issues_enabled\": true, \"merge_requests_enabled\": true, \"wiki_enabled\": true, \"jobs_enabled\": true, \"snippets_enabled\": true, \"service_desk_enabled\": true, \"service_desk_address\": \"incoming+saadmk11-group-test-project2-23121535-issue-@incoming.gitlab.com\", \"can_create_merge_request_in\": true, \"issues_access_level\": \"enabled\", \"repository_access_level\": \"enabled\", \"merge_requests_access_level\": \"enabled\", \"forking_access_level\": \"enabled\", \"wiki_access_level\": \"enabled\", \"builds_access_level\": \"enabled\", \"snippets_access_level\": \"enabled\", \"pages_access_level\": \"enabled\", \"operations_access_level\": \"enabled\", \"analytics_access_level\": \"enabled\", \"emails_disabled\": null, \"shared_runners_enabled\": true, \"lfs_enabled\": true, \"creator_id\": 1870954, \"import_status\": \"none\", \"import_error\": null, \"open_issues_count\": 0, \"runners_token\": \"ZERsXzyFwi7xyoMGcxQv\", \"ci_default_git_depth\": 50, \"ci_forward_deployment_enabled\": true, \"public_jobs\": true, \"build_git_strategy\": \"fetch\", \"build_timeout\": 3600, \"auto_cancel_pending_pipelines\": \"enabled\", \"build_coverage_regex\": null, \"ci_config_path\": \"\", \"shared_with_groups\": [], \"only_allow_merge_if_pipeline_succeeds\": false, \"allow_merge_on_skipped_pipeline\": null, \"request_access_enabled\": true, \"only_allow_merge_if_all_discussions_are_resolved\": false, \"remove_source_branch_after_merge\": true, \"printing_merge_request_link_enabled\": true, \"merge_method\": \"merge\", \"suggestion_commit_message\": null, \"auto_devops_enabled\": false, \"auto_devops_deploy_strategy\": \"continuous\", \"autoclose_referenced_issues\": true, \"approvals_before_merge\": 0, \"mirror\": false, \"external_authorization_classification_label\": \"\", \"marked_for_deletion_at\": null, \"marked_for_deletion_on\": null, \"requirements_enabled\": true, \"compliance_frameworks\": [], \"permissions\": {\"project_access\": null, \"group_access\": {\"access_level\": 50, \"notification_level\": 3}}}", - "users": [ - 4 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 94, - "fields": { - "pub_date": "2021-01-09T17:46:29.443Z", - "modified_date": "2021-01-09T17:46:29.885Z", - "account": 4, - "organization": null, - "active": false, - "project": null, - "name": "test", - "full_name": "saadmk/test", - "description": "", - "avatar_url": "https://bytebucket.org/ravatar/%7Baae2bd67-a0b4-4854-8a15-ec96d10c3d95%7D?ts=default", - "ssh_url": "git@bitbucket.org:saadmk/test.git", - "clone_url": "https://bitbucket.org/saadmk/test.git", - "html_url": "https://bitbucket.org/saadmk/test", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"scm\": \"git\", \"website\": \"\", \"has_wiki\": false, \"uuid\": \"{aae2bd67-a0b4-4854-8a15-ec96d10c3d95}\", \"links\": {\"watchers\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/watchers\"}, \"branches\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/refs/branches\"}, \"tags\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/refs/tags\"}, \"commits\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/commits\"}, \"clone\": [{\"href\": \"https://saadmk@bitbucket.org/saadmk/test.git\", \"name\": \"https\"}, {\"href\": \"git@bitbucket.org:saadmk/test.git\", \"name\": \"ssh\"}], \"self\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test\"}, \"source\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/src\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk/test\"}, \"avatar\": {\"href\": \"https://bytebucket.org/ravatar/%7Baae2bd67-a0b4-4854-8a15-ec96d10c3d95%7D?ts=default\"}, \"hooks\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/hooks\"}, \"forks\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/forks\"}, \"downloads\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/downloads\"}, \"pullrequests\": {\"href\": \"https://bitbucket.org/!api/2.0/repositories/saadmk/test/pullrequests\"}}, \"fork_policy\": \"allow_forks\", \"full_name\": \"saadmk/test\", \"name\": \"test\", \"project\": {\"links\": {\"self\": {\"href\": \"https://bitbucket.org/!api/2.0/workspaces/saadmk/projects/PROJ\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk/workspace/projects/PROJ\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/user/saadmk/projects/PROJ/avatar/32?ts=1559228697\"}}, \"type\": \"project\", \"name\": \"Untitled project\", \"key\": \"PROJ\", \"uuid\": \"{8666785a-a535-4a96-be07-26f614104dcb}\"}, \"language\": \"\", \"created_on\": \"2019-05-30T15:04:57.082700+00:00\", \"mainbranch\": {\"type\": \"branch\", \"name\": \"master\"}, \"workspace\": {\"slug\": \"saadmk\", \"type\": \"workspace\", \"name\": \"Maksudul Haque\", \"links\": {\"self\": {\"href\": \"https://bitbucket.org/!api/2.0/workspaces/saadmk\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/workspaces/saadmk/avatar/?ts=1543660995\"}}, \"uuid\": \"{4ae1207e-fc59-49e8-befb-f5ab05820a40}\"}, \"has_issues\": false, \"owner\": {\"display_name\": \"Maksudul Haque\", \"uuid\": \"{4ae1207e-fc59-49e8-befb-f5ab05820a40}\", \"links\": {\"self\": {\"href\": \"https://bitbucket.org/!api/2.0/users/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D/\"}, \"avatar\": {\"href\": \"https://secure.gravatar.com/avatar/38d3010163198b6a6a0602302b52defc?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FMH-6.png\"}}, \"nickname\": \"saadmk\", \"type\": \"user\", \"account_id\": \"557058:1faf7f86-0b7b-4e2f-a364-083dbdc035ac\"}, \"updated_on\": \"2020-12-03T15:26:53.306617+00:00\", \"size\": 84508, \"type\": \"repository\", \"slug\": \"test\", \"is_private\": false, \"description\": \"\"}", - "users": [ - 5 - ] - } -}, -{ - "model": "oauth.remoterepository", - "pk": 95, - "fields": { - "pub_date": "2021-01-09T17:46:29.472Z", - "modified_date": "2021-01-09T17:46:31.452Z", - "account": 4, - "organization": 5, - "active": false, - "project": null, - "name": "test-rtd", - "full_name": "saadmk11-bitbucket-test/test-rtd", - "description": "", - "avatar_url": "https://bytebucket.org/ravatar/%7B34a1f965-9218-4cc2-a33b-97524c30358b%7D?ts=python", - "ssh_url": "git@bitbucket.org:saadmk11-bitbucket-test/test-rtd.git", - "clone_url": "https://bitbucket.org/saadmk11-bitbucket-test/test-rtd.git", - "html_url": "https://bitbucket.org/saadmk11-bitbucket-test/test-rtd", - "private": false, - "admin": true, - "vcs": "git", - "default_branch": "master", - "json": "{\"scm\": \"git\", \"website\": null, \"has_wiki\": false, \"uuid\": \"{34a1f965-9218-4cc2-a33b-97524c30358b}\", \"links\": {\"watchers\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/watchers\"}, \"branches\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/refs/branches\"}, \"tags\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/refs/tags\"}, \"commits\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/commits\"}, \"clone\": [{\"href\": \"https://saadmk@bitbucket.org/saadmk11-bitbucket-test/test-rtd.git\", \"name\": \"https\"}, {\"href\": \"git@bitbucket.org:saadmk11-bitbucket-test/test-rtd.git\", \"name\": \"ssh\"}], \"self\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd\"}, \"source\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/src\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk11-bitbucket-test/test-rtd\"}, \"avatar\": {\"href\": \"https://bytebucket.org/ravatar/%7B34a1f965-9218-4cc2-a33b-97524c30358b%7D?ts=python\"}, \"hooks\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/hooks\"}, \"forks\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/forks\"}, \"downloads\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/downloads\"}, \"pullrequests\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/saadmk11-bitbucket-test/test-rtd/pullrequests\"}}, \"fork_policy\": \"allow_forks\", \"full_name\": \"saadmk11-bitbucket-test/test-rtd\", \"name\": \"test-rtd\", \"project\": {\"links\": {\"self\": {\"href\": \"https://api.bitbucket.org/2.0/workspaces/saadmk11-bitbucket-test/projects/TES\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk11-bitbucket-test/workspace/projects/TES\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/user/saadmk11-bitbucket-test/projects/TES/avatar/32?ts=1609493947\"}}, \"type\": \"project\", \"name\": \"test-rtd\", \"key\": \"TES\", \"uuid\": \"{e51fea76-2d9e-4098-ace4-a0fc7c26c804}\"}, \"language\": \"python\", \"created_on\": \"2021-01-01T09:39:07.971407+00:00\", \"mainbranch\": {\"type\": \"branch\", \"name\": \"master\"}, \"workspace\": {\"slug\": \"saadmk11-bitbucket-test\", \"type\": \"workspace\", \"name\": \"test\", \"links\": {\"self\": {\"href\": \"https://api.bitbucket.org/2.0/workspaces/saadmk11-bitbucket-test\"}, \"html\": {\"href\": \"https://bitbucket.org/saadmk11-bitbucket-test/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/workspaces/saadmk11-bitbucket-test/avatar/?ts=1609493800\"}}, \"uuid\": \"{df975040-4c28-47ce-ac1e-529aa8e80530}\"}, \"has_issues\": false, \"owner\": {\"username\": \"saadmk11-bitbucket-test\", \"display_name\": \"test\", \"type\": \"team\", \"uuid\": \"{df975040-4c28-47ce-ac1e-529aa8e80530}\", \"links\": {\"self\": {\"href\": \"https://api.bitbucket.org/2.0/teams/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7Bdf975040-4c28-47ce-ac1e-529aa8e80530%7D/\"}, \"avatar\": {\"href\": \"https://bitbucket.org/account/saadmk11-bitbucket-test/avatar/\"}}}, \"updated_on\": \"2021-01-01T09:39:08.682913+00:00\", \"size\": 63369, \"type\": \"repository\", \"slug\": \"test-rtd\", \"is_private\": false, \"description\": \"\"}", - "users": [ - 5 - ] - } -}, -{ - "model": "account.emailaddress", - "pk": 1, - "fields": { - "user": 2, - "email": "saad.mk112@gmail.com", - "verified": false, - "primary": true - } -}, -{ - "model": "account.emailaddress", - "pk": 2, - "fields": { - "user": 3, - "email": "saad.mk114@gmail.com", - "verified": false, - "primary": true - } -}, -{ - "model": "account.emailaddress", - "pk": 3, - "fields": { - "user": 4, - "email": "saad.mk11@hotmail.com", - "verified": false, - "primary": true - } -}, -{ - "model": "account.emailaddress", - "pk": 4, - "fields": { - "user": 5, - "email": "saad.mk1125@gmail.com", - "verified": false, - "primary": true - } -}, -{ - "model": "socialaccount.socialapp", - "pk": 1, - "fields": { - "provider": "github", - "name": "GitHub", - "client_id": "94e30c320f1b8abb0b5a", - "secret": "f8c96bf12f5b16f9aa97b429f7341833ae090b06", - "key": "", - "sites": [ - 1 - ] - } -}, -{ - "model": "socialaccount.socialapp", - "pk": 2, - "fields": { - "provider": "gitlab", - "name": "GitLab", - "client_id": "e013051cb44a1501acb32b77ed0d1c2f3a14db9f0d23b38a8559cc7f6fb0db70", - "secret": "8d702a21a23afe87b8517e6fbc4f7ebceee8d0a941398789057bf9df8caabd17", - "key": "", - "sites": [ - 1 - ] - } -}, -{ - "model": "socialaccount.socialapp", - "pk": 3, - "fields": { - "provider": "bitbucket_oauth2", - "name": "Bitbucket", - "client_id": "ZpayyJJQNY5QNe8LAm", - "secret": "mNP7NaAVZ3kp5xp22MKU8SyZ6jemTpg7", - "key": "", - "sites": [ - 1 - ] - } -}, -{ - "model": "socialaccount.socialaccount", - "pk": 1, - "fields": { - "user": 2, - "provider": "github", - "uid": "24854406", - "last_login": "2021-01-09T17:44:58.002Z", - "date_joined": "2021-01-09T17:44:58.002Z", - "extra_data": "{\"login\": \"saadmk11\", \"id\": 24854406, \"node_id\": \"MDQ6VXNlcjI0ODU0NDA2\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/24854406?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk11\", \"html_url\": \"https://github.com/saadmk11\", \"followers_url\": \"https://api.github.com/users/saadmk11/followers\", \"following_url\": \"https://api.github.com/users/saadmk11/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk11/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk11/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk11/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk11/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk11/repos\", \"events_url\": \"https://api.github.com/users/saadmk11/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk11/received_events\", \"type\": \"User\", \"site_admin\": false, \"name\": \"Maksudul Haque\", \"company\": null, \"blog\": \"\", \"location\": \"Dhaka, Bangladesh\", \"email\": \"saad.mk112@gmail.com\", \"hireable\": true, \"bio\": \"Web Developer, Open Source Contributor.\", \"twitter_username\": \"saad_mk11\", \"public_repos\": 51, \"public_gists\": 0, \"followers\": 50, \"following\": 1, \"created_at\": \"2016-12-31T14:34:25Z\", \"updated_at\": \"2021-01-09T17:39:09Z\"}" - } -}, -{ - "model": "socialaccount.socialaccount", - "pk": 2, - "fields": { - "user": 3, - "provider": "github", - "uid": "71221755", - "last_login": "2021-01-09T17:45:14.558Z", - "date_joined": "2021-01-09T17:45:14.558Z", - "extra_data": "{\"login\": \"saadmk-test\", \"id\": 71221755, \"node_id\": \"MDQ6VXNlcjcxMjIxNzU1\", \"avatar_url\": \"https://avatars3.githubusercontent.com/u/71221755?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/saadmk-test\", \"html_url\": \"https://github.com/saadmk-test\", \"followers_url\": \"https://api.github.com/users/saadmk-test/followers\", \"following_url\": \"https://api.github.com/users/saadmk-test/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/saadmk-test/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/saadmk-test/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/saadmk-test/subscriptions\", \"organizations_url\": \"https://api.github.com/users/saadmk-test/orgs\", \"repos_url\": \"https://api.github.com/users/saadmk-test/repos\", \"events_url\": \"https://api.github.com/users/saadmk-test/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/saadmk-test/received_events\", \"type\": \"User\", \"site_admin\": false, \"name\": null, \"company\": null, \"blog\": \"\", \"location\": null, \"email\": \"saad.mk114@gmail.com\", \"hireable\": null, \"bio\": \"This is a Test profile\", \"twitter_username\": null, \"public_repos\": 5, \"public_gists\": 0, \"followers\": 0, \"following\": 0, \"created_at\": \"2020-09-13T14:38:04Z\", \"updated_at\": \"2021-01-09T17:37:21Z\"}" - } -}, -{ - "model": "socialaccount.socialaccount", - "pk": 3, - "fields": { - "user": 4, - "provider": "gitlab", - "uid": "1870954", - "last_login": "2021-01-09T17:45:30.103Z", - "date_joined": "2021-01-09T17:45:30.103Z", - "extra_data": "{\"id\": 1870954, \"name\": \"Maksudul Haque\", \"username\": \"saadmk11\", \"state\": \"active\", \"avatar_url\": \"https://assets.gitlab-static.net/uploads/-/system/user/avatar/1870954/avatar.png\", \"web_url\": \"https://gitlab.com/saadmk11\", \"created_at\": \"2017-12-19T19:55:48.522Z\", \"bio\": \"\", \"bio_html\": \"\", \"location\": \"Dhaka, Bangladesh\", \"public_email\": \"saad.mk11@hotmail.com\", \"skype\": \"\", \"linkedin\": \"\", \"twitter\": \"\", \"website_url\": \"https://about.me/saadmk11\", \"organization\": \"thesmartlabs\", \"job_title\": \"\", \"work_information\": \"thesmartlabs\", \"last_sign_in_at\": \"2021-01-08T09:32:45.652Z\", \"confirmed_at\": \"2017-12-19T19:55:48.077Z\", \"last_activity_on\": \"2021-01-09\", \"email\": \"saad.mk11@hotmail.com\", \"theme_id\": 1, \"color_scheme_id\": 1, \"projects_limit\": 100000, \"current_sign_in_at\": \"2021-01-09T17:39:25.757Z\", \"identities\": [{\"provider\": \"google_oauth2\", \"extern_uid\": \"111656333161789159802\", \"saml_provider_id\": null}, {\"provider\": \"github\", \"extern_uid\": \"24854406\", \"saml_provider_id\": null}], \"can_create_group\": true, \"can_create_project\": true, \"two_factor_enabled\": false, \"external\": false, \"private_profile\": false, \"shared_runners_minutes_limit\": null, \"extra_shared_runners_minutes_limit\": null}" - } -}, -{ - "model": "socialaccount.socialaccount", - "pk": 4, - "fields": { - "user": 5, - "provider": "bitbucket_oauth2", - "uid": "saadmk", - "last_login": "2021-01-09T17:45:50.939Z", - "date_joined": "2021-01-09T17:45:50.939Z", - "extra_data": "{\"username\": \"saadmk\", \"display_name\": \"Maksudul Haque\", \"has_2fa_enabled\": null, \"links\": {\"hooks\": {\"href\": \"https://api.bitbucket.org/2.0/users/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D/hooks\"}, \"self\": {\"href\": \"https://api.bitbucket.org/2.0/users/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}, \"repositories\": {\"href\": \"https://api.bitbucket.org/2.0/repositories/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}, \"html\": {\"href\": \"https://bitbucket.org/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D/\"}, \"avatar\": {\"href\": \"https://secure.gravatar.com/avatar/38d3010163198b6a6a0602302b52defc?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FMH-6.png\"}, \"snippets\": {\"href\": \"https://api.bitbucket.org/2.0/snippets/%7B4ae1207e-fc59-49e8-befb-f5ab05820a40%7D\"}}, \"nickname\": \"saadmk\", \"account_id\": \"557058:1faf7f86-0b7b-4e2f-a364-083dbdc035ac\", \"created_on\": \"2016-01-03T14:11:52.662060+00:00\", \"is_staff\": false, \"location\": null, \"account_status\": \"active\", \"type\": \"user\", \"uuid\": \"{4ae1207e-fc59-49e8-befb-f5ab05820a40}\", \"email\": \"saad.mk112@gmail.com\"}" - } -}, -{ - "model": "socialaccount.socialtoken", - "pk": 1, - "fields": { - "app": 1, - "account": 1, - "token": "0cfd34d40170366251867e6974bb2110f65213c7", - "token_secret": "", - "expires_at": null - } -}, -{ - "model": "socialaccount.socialtoken", - "pk": 2, - "fields": { - "app": 1, - "account": 2, - "token": "d91343af3138ae53bb310d46c9fa085f45727b21", - "token_secret": "", - "expires_at": null - } -}, -{ - "model": "socialaccount.socialtoken", - "pk": 3, - "fields": { - "app": 2, - "account": 3, - "token": "baa2e99ad6e24d1a6c98506c2b85529249289c24fd8393525fa476ba8086f0a0", - "token_secret": "b2c01202c3a92b942260ac0726d8da19860f337173e561f30f9d66e294455d9c", - "expires_at": null - } -}, -{ - "model": "socialaccount.socialtoken", - "pk": 4, - "fields": { - "app": 3, - "account": 4, - "token": "GhWQRaD9qSVK7kB7eGF4S6J_25eV9R-KWLI6mXFI6jQsG7S-lmvm9trQXEk9APDGxT6lJLDplwz6_JyUglt-WPXps3PBUWHM8hjXHQq0gCGFygkVfiMJYpB-fzTXl02DjAzzeQ4MCfDL6K-kYr2_", - "token_secret": "r35dHKHa7SWxHPw62R", - "expires_at": "2021-01-09T19:45:38.828Z" - } -} -] From 6f7eefd1a601a020a8b0c8c51db74d56fba788ad Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 12 Jan 2021 19:40:51 +0600 Subject: [PATCH 76/89] use --dry-run insteand of --no-dry-run --- .../management/commands/sync_vcs_data.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py index 7f0ec2d7070..ede0c061d9d 100644 --- a/readthedocs/oauth/management/commands/sync_vcs_data.py +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -41,10 +41,10 @@ def add_arguments(self, parser): help='Force re-sync VCS provider data even if the users are already synced.', ) parser.add_argument( - '--no-dry-run', + '--dry-run', action='store_true', default=False, - help='Trigger tasks for VCS provider re-sync.', + help='Do not trigger tasks for VCS provider re-sync.', ) def handle(self, *args, **options): @@ -53,7 +53,7 @@ def handle(self, *args, **options): skip_users = options.get('skip_users') max_users = options.get('max_users') force_sync = options.get('force') - no_dry_run = options.get('no_dry_run') + dry_run = options.get('dry_run') # Filter users who have social accounts connected to their RTD account users = User.objects.filter( @@ -84,8 +84,15 @@ def handle(self, *args, **options): ) ) - # Only trigger VCS provider re-sync tasks if --no-dry-run is provided - if no_dry_run: + # Don't trigger VCS provider re-sync tasks if --dry-run is provided + if dry_run: + self.stdout.write( + self.style.WARNING( + 'No VCS provider re-sync task was triggered. ' + 'Run it without --dry-run to trigger the re-sync tasks.' + ) + ) + else: users_to_sync = users.values_list('id', flat=True)[:max_users] self.stdout.write( @@ -99,10 +106,3 @@ def handle(self, *args, **options): sync_remote_repositories.apply_async( args=[user_id], queue=queue ) - else: - self.stdout.write( - self.style.WARNING( - 'No VCS provider re-sync task was triggered. ' - 'Run it with --no-dry-run to trigger re-sync tasks.' - ) - ) From ec7729cbc6812a2080b3ed8179c4f3eaab2fba00 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Fri, 26 Feb 2021 15:14:14 +0600 Subject: [PATCH 77/89] Apply suggestions from code review Co-authored-by: Eric Holscher <25510+ericholscher@users.noreply.github.com> --- readthedocs/oauth/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index 52cda3c51b8..e1644ef4495 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -58,7 +58,7 @@ class RemoteOrganization(TimeStampedModel): class Meta: ordering = ['name'] - unique_together = (('remote_id', 'vcs_provider'),) + unique_together = ('remote_id', 'vcs_provider') db_table = 'oauth_remoteorganization_2020' def __str__(self): From a718e78b3382f93e0e20f47e47f7f4040d8d2881 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sun, 28 Feb 2021 18:12:58 +0600 Subject: [PATCH 78/89] Add comments and move remote relation methods to model --- readthedocs/api/v2/views/model_views.py | 11 +++--- ...ble_for_remote_repository_normalization.py | 2 +- readthedocs/oauth/models.py | 34 ++++++++++++++++--- readthedocs/oauth/services/base.py | 22 ------------ readthedocs/oauth/services/bitbucket.py | 8 +++-- readthedocs/oauth/services/github.py | 9 +++-- readthedocs/oauth/services/gitlab.py | 8 +++-- 7 files changed, 53 insertions(+), 41 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index cd1aaf89dab..e3a7f61de70 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -329,13 +329,8 @@ def get_queryset(self): remote_repository_relations__admin=True, then=Value(True) ), - When( - remote_repository_relations__user=self.request.user, - remote_repository_relations__admin=False, - then=Value(False) - ), default=Value(False), - output_field=BooleanField(), + output_field=BooleanField() ) ) full_name = self.request.query_params.get('full_name') @@ -359,7 +354,9 @@ def get_queryset(self): ).distinct() # optimizes for the RemoteOrganizationSerializer - query = query.select_related('organization') + query = query.select_related('organization').order_by( + 'organization__name', 'full_name' + ) return query diff --git a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py index 9fda40ddc2f..86cdab720f5 100644 --- a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py +++ b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py @@ -42,7 +42,7 @@ class Migration(migrations.Migration): options={ 'verbose_name_plural': 'remote repositories', 'db_table': 'oauth_remoterepository_2020', - 'ordering': ['organization__name', 'full_name'], + 'ordering': ['full_name'], }, ), migrations.CreateModel( diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index e1644ef4495..a02b3812029 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -44,6 +44,7 @@ class RemoteOrganization(TimeStampedModel): null=True, blank=True, ) + # VCS provider organization id remote_id = models.CharField( db_index=True, max_length=128 @@ -58,12 +59,23 @@ class RemoteOrganization(TimeStampedModel): class Meta: ordering = ['name'] - unique_together = ('remote_id', 'vcs_provider') + unique_together = ('remote_id', 'vcs_provider',) db_table = 'oauth_remoteorganization_2020' def __str__(self): return 'Remote organization: {name}'.format(name=self.slug) + def get_remote_organization_relation(self, user, social_account): + """Return RemoteOrganizationRelation object for the remote organization.""" + remote_organization_relation, _ = ( + RemoteOrganizationRelation.objects.get_or_create( + remote_organization=self, + user=user, + account=social_account + ) + ) + return remote_organization_relation + class RemoteOrganizationRelation(TimeStampedModel): remote_organization = models.ForeignKey( @@ -85,7 +97,7 @@ class RemoteOrganizationRelation(TimeStampedModel): json = JSONField(_('Serialized API response')) # noqa: F811 class Meta: - unique_together = (('remote_organization', 'account'),) + unique_together = ('remote_organization', 'account',) def get_serialized(self, key=None, default=None): try: @@ -174,6 +186,7 @@ class RemoteRepository(TimeStampedModel): null=True, blank=True, ) + # VCS provider repository id remote_id = models.CharField( db_index=True, max_length=128 @@ -187,9 +200,9 @@ class RemoteRepository(TimeStampedModel): objects = RemoteRepositoryQuerySet.as_manager() class Meta: - ordering = ['organization__name', 'full_name'] + ordering = ['full_name'] verbose_name_plural = 'remote repositories' - unique_together = (('remote_id', 'vcs_provider'),) + unique_together = ('remote_id', 'vcs_provider',) db_table = 'oauth_remoterepository_2020' def __str__(self): @@ -223,6 +236,17 @@ def matches(self, user): ), } for project in projects] + def get_remote_repository_relation(self, user, social_account): + """Return RemoteRepositoryRelation object for the remote repository.""" + remote_repository_relation, _ = ( + RemoteRepositoryRelation.objects.get_or_create( + remote_repository=self, + user=user, + account=social_account + ) + ) + return remote_repository_relation + class RemoteRepositoryRelation(TimeStampedModel): remote_repository = models.ForeignKey( @@ -245,7 +269,7 @@ class RemoteRepositoryRelation(TimeStampedModel): json = JSONField(_('Serialized API response')) # noqa: F811 class Meta: - unique_together = (('remote_repository', 'account'),) + unique_together = ('remote_repository', 'account',) def get_serialized(self, key=None, default=None): try: diff --git a/readthedocs/oauth/services/base.py b/readthedocs/oauth/services/base.py index 5faced8a723..6ff606b0fae 100644 --- a/readthedocs/oauth/services/base.py +++ b/readthedocs/oauth/services/base.py @@ -228,28 +228,6 @@ def sync(self): .delete() ) - def get_remote_repository_relation(self, repo): - """Return RemoteRepositoryRelation object for a given remote repository.""" - remote_repository_relation, _ = ( - RemoteRepositoryRelation.objects.get_or_create( - remote_repository=repo, - user=self.user, - account=self.account - ) - ) - return remote_repository_relation - - def get_remote_organization_relation(self, organization): - """Return RemoteOrganizationRelation object for a given remote organization.""" - remote_organization_relation, _ = ( - RemoteOrganizationRelation.objects.get_or_create( - remote_organization=organization, - user=self.user, - account=self.account - ) - ) - return remote_organization_relation - def create_repository(self, fields, privacy=None, organization=None): """ Update or create a repository from API response. diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 7426844315a..1741a7580ca 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -136,7 +136,9 @@ def create_repository(self, fields, privacy=None, organization=None): remote_id=fields['uuid'], vcs_provider=self.vcs_provider_slug ) - remote_repository_relation = self.get_remote_repository_relation(repo) + remote_repository_relation = repo.get_remote_repository_relation( + self.user, self.account + ) if repo.organization and repo.organization != organization: log.debug( @@ -197,7 +199,9 @@ def create_organization(self, fields): remote_id=fields['uuid'], vcs_provider=self.vcs_provider_slug ) - remote_organization_relation = self.get_remote_organization_relation(organization) + remote_organization_relation = organization.get_remote_organization_relation( + self.user, self.account + ) organization.slug = fields.get('username') organization.name = fields.get('display_name') diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index b7cebb2c1b5..ed0957891b8 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -109,7 +109,9 @@ def create_repository(self, fields, privacy=None, organization=None): remote_id=fields['id'], vcs_provider=self.vcs_provider_slug ) - remote_repository_relation = self.get_remote_repository_relation(repo) + remote_repository_relation = repo.get_remote_repository_relation( + self.user, self.account + ) if repo.organization and repo.organization != organization: log.debug( @@ -161,9 +163,12 @@ def create_organization(self, fields): remote_id=fields['id'], vcs_provider=self.vcs_provider_slug ) - remote_organization_relation = self.get_remote_organization_relation(organization) + remote_organization_relation = organization.get_remote_organization_relation( + self.user, self.account + ) organization.url = fields.get('html_url') + # fields['login'] contains GitHub Organization slug organization.slug = fields.get('login') organization.name = fields.get('name') organization.email = fields.get('email') diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index cb46efef6e6..8d2f215324a 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -198,7 +198,9 @@ def create_repository(self, fields, privacy=None, organization=None): remote_id=fields['id'], vcs_provider=self.vcs_provider_slug ) - remote_repository_relation = self.get_remote_repository_relation(repo) + remote_repository_relation = repo.get_remote_repository_relation( + self.user, self.account + ) if repo.organization and repo.organization != organization: log.debug( @@ -268,7 +270,9 @@ def create_organization(self, fields): remote_id=fields['id'], vcs_provider=self.vcs_provider_slug ) - remote_organization_relation = self.get_remote_organization_relation(organization) + remote_organization_relation = organization.get_remote_organization_relation( + self.user, self.account + ) organization.name = fields.get('name') organization.slug = fields.get('path') From cea826b0f128cda8be884a628e747e4f73f979cb Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Sun, 28 Feb 2021 19:08:29 +0600 Subject: [PATCH 79/89] Add management command to Load Project and RemoteRepository Relationship from JSON file --- .../load_project_remote_repo_relation.py | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 readthedocs/oauth/management/commands/load_project_remote_repo_relation.py diff --git a/readthedocs/oauth/management/commands/load_project_remote_repo_relation.py b/readthedocs/oauth/management/commands/load_project_remote_repo_relation.py new file mode 100644 index 00000000000..62e6f507496 --- /dev/null +++ b/readthedocs/oauth/management/commands/load_project_remote_repo_relation.py @@ -0,0 +1,50 @@ +import json + +from django.core.management.base import BaseCommand + +from readthedocs.oauth.models import RemoteRepository + + +class Command(BaseCommand): + help = "Load Project and RemoteRepository Relationship from JSON file" + + def add_arguments(self, parser): + # File path of the json file containing relationship data + parser.add_argument( + '--file', + required=True, + nargs=1, + type=str, + help='File path of the json file containing relationship data.', + ) + + def handle(self, *args, **options): + file = options.get('file')[0] + + try: + # Load data from the json file + with open(file, 'r') as f: + data = json.load(f) + except Exception as e: + self.stdout.write( + self.style.ERROR( + f'Exception occurred while trying to load the file "{file}". ' + f'Exception: {e}.' + ) + ) + return + + for item in data: + try: + RemoteRepository.objects.filter( + remote_id=item['remote_id'] + ).update(project_id=item['project_id']) + + except Exception as e: + self.stdout.write( + self.style.ERROR( + f"Exception occurred while trying to update {item['slug']}'s " + f"relationship with {item['html_url']}, " + f"username: {item['username']}, Exception: {e}." + ) + ) From 29c437e15f7793886c80b71ca6764184caff2597 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 1 Mar 2021 17:17:52 +0600 Subject: [PATCH 80/89] Check if the remote_repo was updated or not and log error --- .../commands/load_project_remote_repo_relation.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/readthedocs/oauth/management/commands/load_project_remote_repo_relation.py b/readthedocs/oauth/management/commands/load_project_remote_repo_relation.py index 62e6f507496..194cf308a1c 100644 --- a/readthedocs/oauth/management/commands/load_project_remote_repo_relation.py +++ b/readthedocs/oauth/management/commands/load_project_remote_repo_relation.py @@ -36,10 +36,20 @@ def handle(self, *args, **options): for item in data: try: - RemoteRepository.objects.filter( + update_count = RemoteRepository.objects.filter( remote_id=item['remote_id'] ).update(project_id=item['project_id']) + if update_count < 1: + self.stdout.write( + self.style.ERROR( + f"Could not update {item['slug']}'s " + f"relationship with {item['html_url']}, " + f"remote_id {item['remote_id']}, " + f"username: {item['username']}." + ) + ) + except Exception as e: self.stdout.write( self.style.ERROR( From d7a04453c094af771f9343f3afbda56ef939b164 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Tue, 2 Mar 2021 17:11:56 +0600 Subject: [PATCH 81/89] update RemoteRepositorySerializer.is_admin comment about cached value --- readthedocs/api/v2/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/api/v2/serializers.py b/readthedocs/api/v2/serializers.py index 2064d64a4d6..349979179a4 100644 --- a/readthedocs/api/v2/serializers.py +++ b/readthedocs/api/v2/serializers.py @@ -202,7 +202,7 @@ def get_matches(self, obj): def is_admin(self, obj): request = self.context['request'] - # Use cached value + # Use annotated value from RemoteRepositoryViewSet queryset if hasattr(obj, 'admin'): return obj.admin From 349ba5a3f83efacb3b7a5c1005d81dc3d7332185 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 8 Mar 2021 18:20:17 +0600 Subject: [PATCH 82/89] Remove json field from RemoteRepositoryRelation and RemoteOrganizationRelation model --- ...e_for_remote_organization_normalization.py | 2 -- ...ble_for_remote_repository_normalization.py | 3 --- readthedocs/oauth/models.py | 21 ------------------- readthedocs/oauth/services/bitbucket.py | 10 ++------- readthedocs/oauth/services/github.py | 6 +----- readthedocs/oauth/services/gitlab.py | 8 ++----- 6 files changed, 5 insertions(+), 45 deletions(-) diff --git a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py index a23ad03bd10..233473fd929 100644 --- a/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py +++ b/readthedocs/oauth/migrations/0012_create_new_table_for_remote_organization_normalization.py @@ -4,7 +4,6 @@ from django.db import migrations, models import django.db.models.deletion import django_extensions.db.fields -import jsonfield.fields class Migration(migrations.Migration): @@ -41,7 +40,6 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), - ('json', jsonfield.fields.JSONField(verbose_name='Serialized API response')), ('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), ('remote_organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to='oauth.RemoteOrganization')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_organization_relations', to=settings.AUTH_USER_MODEL)), diff --git a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py index 86cdab720f5..f2dd10d39d7 100644 --- a/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py +++ b/readthedocs/oauth/migrations/0013_create_new_table_for_remote_repository_normalization.py @@ -1,11 +1,9 @@ # Generated by Django 2.2.17 on 2020-12-21 18:16 from django.conf import settings -import django.core.validators from django.db import migrations, models import django.db.models.deletion import django_extensions.db.fields -import jsonfield.fields class Migration(migrations.Migration): @@ -52,7 +50,6 @@ class Migration(migrations.Migration): ('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')), ('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')), ('admin', models.BooleanField(default=False, verbose_name='Has admin privilege')), - ('json', jsonfield.fields.JSONField(verbose_name='Serialized API response')), ('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='socialaccount.SocialAccount', verbose_name='Connected account')), ('remote_repository', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to='oauth.RemoteRepository')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='remote_repository_relations', to=settings.AUTH_USER_MODEL)), diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index a02b3812029..c5afbe2d4f3 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -11,7 +11,6 @@ from allauth.socialaccount.models import SocialAccount from django_extensions.db.models import TimeStampedModel -from jsonfield import JSONField from readthedocs.projects.constants import REPO_CHOICES from readthedocs.projects.models import Project @@ -94,20 +93,10 @@ class RemoteOrganizationRelation(TimeStampedModel): related_name='remote_organization_relations', on_delete=models.CASCADE ) - json = JSONField(_('Serialized API response')) # noqa: F811 class Meta: unique_together = ('remote_organization', 'account',) - def get_serialized(self, key=None, default=None): - try: - data = self.json - if key is not None: - return data.get(key, default) - return data - except ValueError: - pass - class RemoteRepository(TimeStampedModel): @@ -266,16 +255,6 @@ class RemoteRepositoryRelation(TimeStampedModel): on_delete=models.CASCADE ) admin = models.BooleanField(_('Has admin privilege'), default=False) - json = JSONField(_('Serialized API response')) # noqa: F811 class Meta: unique_together = ('remote_repository', 'account',) - - def get_serialized(self, key=None, default=None): - try: - data = self.json - if key is not None: - return data.get(key, default) - return data - except ValueError: - pass diff --git a/readthedocs/oauth/services/bitbucket.py b/readthedocs/oauth/services/bitbucket.py index 1741a7580ca..119f386fc29 100644 --- a/readthedocs/oauth/services/bitbucket.py +++ b/readthedocs/oauth/services/bitbucket.py @@ -136,7 +136,7 @@ def create_repository(self, fields, privacy=None, organization=None): remote_id=fields['uuid'], vcs_provider=self.vcs_provider_slug ) - remote_repository_relation = repo.get_remote_repository_relation( + repo.get_remote_repository_relation( self.user, self.account ) @@ -178,9 +178,6 @@ def create_repository(self, fields, privacy=None, organization=None): repo.save() - remote_repository_relation.json = fields - remote_repository_relation.save() - return repo log.debug( @@ -199,7 +196,7 @@ def create_organization(self, fields): remote_id=fields['uuid'], vcs_provider=self.vcs_provider_slug ) - remote_organization_relation = organization.get_remote_organization_relation( + organization.get_remote_organization_relation( self.user, self.account ) @@ -215,9 +212,6 @@ def create_organization(self, fields): organization.save() - remote_organization_relation.json = fields - remote_organization_relation.save() - return organization def get_next_url_to_paginate(self, response): diff --git a/readthedocs/oauth/services/github.py b/readthedocs/oauth/services/github.py index ed0957891b8..33a15c6bea8 100644 --- a/readthedocs/oauth/services/github.py +++ b/readthedocs/oauth/services/github.py @@ -141,7 +141,6 @@ def create_repository(self, fields, privacy=None, organization=None): repo.save() - remote_repository_relation.json = fields remote_repository_relation.admin = fields.get('permissions', {}).get('admin', False) remote_repository_relation.save() @@ -163,7 +162,7 @@ def create_organization(self, fields): remote_id=fields['id'], vcs_provider=self.vcs_provider_slug ) - remote_organization_relation = organization.get_remote_organization_relation( + organization.get_remote_organization_relation( self.user, self.account ) @@ -179,9 +178,6 @@ def create_organization(self, fields): organization.save() - remote_organization_relation.json = fields - remote_organization_relation.save() - return organization def get_next_url_to_paginate(self, response): diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 8d2f215324a..ef4671a7376 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -55,7 +55,7 @@ def _get_repo_id(self, project): # The ID or URL-encoded path of the project # https://docs.gitlab.com/ce/api/README.html#namespaced-path-encoding try: - repo_id = json.loads(project.remote_repository.json).get('id') + repo_id = project.remote_repository.remote_id except Exception: # Handle "Manual Import" when there is no RemoteRepository # associated with the project. It only works with gitlab.com at the @@ -248,7 +248,6 @@ def create_repository(self, fields, privacy=None, organization=None): project_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), group_access_level in (self.PERMISSION_MAINTAINER, self.PERMISSION_OWNER), ]) - remote_repository_relation.json = fields remote_repository_relation.save() return repo @@ -270,7 +269,7 @@ def create_organization(self, fields): remote_id=fields['id'], vcs_provider=self.vcs_provider_slug ) - remote_organization_relation = organization.get_remote_organization_relation( + organization.get_remote_organization_relation( self.user, self.account ) @@ -287,9 +286,6 @@ def create_organization(self, fields): organization.save() - remote_organization_relation.json = fields - remote_organization_relation.save() - return organization def get_webhook_data(self, repo_id, project, integration): From 36dd7fe54984067b47f26259b600e5972938ee5d Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 8 Mar 2021 22:20:51 +0600 Subject: [PATCH 83/89] Handle exception on _get_repo_id explicitly --- readthedocs/oauth/services/gitlab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index ef4671a7376..2fb053065ed 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -56,7 +56,7 @@ def _get_repo_id(self, project): # https://docs.gitlab.com/ce/api/README.html#namespaced-path-encoding try: repo_id = project.remote_repository.remote_id - except Exception: + except RemoteRepository.DoesNotExist: # Handle "Manual Import" when there is no RemoteRepository # associated with the project. It only works with gitlab.com at the # moment (doesn't support custom gitlab installations) From 12e6f64e39eb2cc0b8387d72f6064f2f3f5f9efc Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Mon, 8 Mar 2021 22:25:11 +0600 Subject: [PATCH 84/89] Handle exception on _get_repo_id explicitly --- readthedocs/oauth/services/gitlab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/oauth/services/gitlab.py b/readthedocs/oauth/services/gitlab.py index 2fb053065ed..6213c876968 100644 --- a/readthedocs/oauth/services/gitlab.py +++ b/readthedocs/oauth/services/gitlab.py @@ -56,7 +56,7 @@ def _get_repo_id(self, project): # https://docs.gitlab.com/ce/api/README.html#namespaced-path-encoding try: repo_id = project.remote_repository.remote_id - except RemoteRepository.DoesNotExist: + except Project.remote_repository.RelatedObjectDoesNotExist: # Handle "Manual Import" when there is no RemoteRepository # associated with the project. It only works with gitlab.com at the # moment (doesn't support custom gitlab installations) From a449fd8432277be84b7beaa7007f89a21d2ec70b Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 10 Mar 2021 13:58:08 +0600 Subject: [PATCH 85/89] Remove duplicate results from RemoteOrganization API --- readthedocs/api/v2/views/model_views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs/api/v2/views/model_views.py b/readthedocs/api/v2/views/model_views.py index e3a7f61de70..8c3f6bd796d 100644 --- a/readthedocs/api/v2/views/model_views.py +++ b/readthedocs/api/v2/views/model_views.py @@ -305,8 +305,8 @@ def get_queryset(self): self.model.objects.api(self.request.user).filter( remote_organization_relations__account__provider__in=[ service.adapter.provider_id for service in registry - ], - ) + ] + ).distinct() ) From 08a4641006f857aadb87a5aad93cc25038508573 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 10 Mar 2021 14:30:12 +0600 Subject: [PATCH 86/89] Add __str__ to RemoteRepositoryRelation and RemoteOrganizationRelation and Use raw_id_fields in Admin --- readthedocs/oauth/admin.py | 20 ++++++++++++++++++-- readthedocs/oauth/models.py | 6 ++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/readthedocs/oauth/admin.py b/readthedocs/oauth/admin.py index 147c5dcea1d..0ebbb9f4a96 100644 --- a/readthedocs/oauth/admin.py +++ b/readthedocs/oauth/admin.py @@ -19,6 +19,14 @@ class RemoteRepositoryAdmin(admin.ModelAdmin): raw_id_fields = ('users',) +class RemoteRepositoryRelationAdmin(admin.ModelAdmin): + + """Admin configuration for the RemoteRepositoryRelation model.""" + + raw_id_fields = ('account', 'remote_repository', 'user',) + list_select_related = ('remote_repository', 'user',) + + class RemoteOrganizationAdmin(admin.ModelAdmin): """Admin configuration for the RemoteOrganization model.""" @@ -26,7 +34,15 @@ class RemoteOrganizationAdmin(admin.ModelAdmin): raw_id_fields = ('users',) +class RemoteOrganizationRelationAdmin(admin.ModelAdmin): + + """Admin configuration for the RemoteOrganizationRelation model.""" + + raw_id_fields = ('account', 'remote_organization', 'user',) + list_select_related = ('remote_organization', 'user',) + + admin.site.register(RemoteRepository, RemoteRepositoryAdmin) -admin.site.register(RemoteRepositoryRelation) +admin.site.register(RemoteRepositoryRelation, RemoteRepositoryRelationAdmin) admin.site.register(RemoteOrganization, RemoteOrganizationAdmin) -admin.site.register(RemoteOrganizationRelation) +admin.site.register(RemoteOrganizationRelation, RemoteOrganizationRelationAdmin) diff --git a/readthedocs/oauth/models.py b/readthedocs/oauth/models.py index c5afbe2d4f3..4deb794baeb 100644 --- a/readthedocs/oauth/models.py +++ b/readthedocs/oauth/models.py @@ -97,6 +97,9 @@ class RemoteOrganizationRelation(TimeStampedModel): class Meta: unique_together = ('remote_organization', 'account',) + def __str__(self): + return f'{self.user.username} <-> {self.remote_organization.name}' + class RemoteRepository(TimeStampedModel): @@ -258,3 +261,6 @@ class RemoteRepositoryRelation(TimeStampedModel): class Meta: unique_together = ('remote_repository', 'account',) + + def __str__(self): + return f'{self.user.username} <-> {self.remote_repository.full_name}' From 7fe61167f02f7e3dbc1a8777d8c2d8959bacf545 Mon Sep 17 00:00:00 2001 From: Maksudul Haque Date: Wed, 10 Mar 2021 20:20:15 +0600 Subject: [PATCH 87/89] Add raw_id_fields to RemoteRepositoryAdmin --- readthedocs/oauth/admin.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/readthedocs/oauth/admin.py b/readthedocs/oauth/admin.py index 0ebbb9f4a96..d6e43f34740 100644 --- a/readthedocs/oauth/admin.py +++ b/readthedocs/oauth/admin.py @@ -16,7 +16,7 @@ class RemoteRepositoryAdmin(admin.ModelAdmin): """Admin configuration for the RemoteRepository model.""" - raw_id_fields = ('users',) + raw_id_fields = ('project', 'organization',) class RemoteRepositoryRelationAdmin(admin.ModelAdmin): @@ -27,13 +27,6 @@ class RemoteRepositoryRelationAdmin(admin.ModelAdmin): list_select_related = ('remote_repository', 'user',) -class RemoteOrganizationAdmin(admin.ModelAdmin): - - """Admin configuration for the RemoteOrganization model.""" - - raw_id_fields = ('users',) - - class RemoteOrganizationRelationAdmin(admin.ModelAdmin): """Admin configuration for the RemoteOrganizationRelation model.""" @@ -44,5 +37,5 @@ class RemoteOrganizationRelationAdmin(admin.ModelAdmin): admin.site.register(RemoteRepository, RemoteRepositoryAdmin) admin.site.register(RemoteRepositoryRelation, RemoteRepositoryRelationAdmin) -admin.site.register(RemoteOrganization, RemoteOrganizationAdmin) +admin.site.register(RemoteOrganization) admin.site.register(RemoteOrganizationRelation, RemoteOrganizationRelationAdmin) From f5e01a6ec534af63e177300a195c0fd58736ca08 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Sat, 13 Mar 2021 11:45:02 +0100 Subject: [PATCH 88/89] Improvements to sync_vcs_data.py script --- .../management/commands/sync_vcs_data.py | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py index ede0c061d9d..6fc8448b1d8 100644 --- a/readthedocs/oauth/management/commands/sync_vcs_data.py +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -1,3 +1,7 @@ +import datetime +import json + +from django.utils import timezone from django.contrib.auth.models import User from django.core.management.base import BaseCommand @@ -21,6 +25,18 @@ def add_arguments(self, parser): default=[], help='Re-sync VCS provider data for specific users only.', ) + parser.add_argument( + '--logged-in-days-ago', + type=int, + default=0, + help='Re-sync users logged in in the last days.', + ) + parser.add_argument( + '--skip-revoked-users', + action='store_true', + default=False, + help='Skip users who revoked our access token (pulled down from Sentry).', + ) parser.add_argument( '--skip-users', nargs='+', @@ -49,6 +65,8 @@ def add_arguments(self, parser): def handle(self, *args, **options): queue = options.get('queue') + logged_in_days_ago = options.get('logged_in_days_ago') + skip_revoked_users = options.get('skip_revoked_users') sync_users = options.get('users') skip_users = options.get('skip_users') max_users = options.get('max_users') @@ -60,6 +78,11 @@ def handle(self, *args, **options): socialaccount__isnull=False ).distinct() + if logged_in_days_ago: + users = users.filter( + last_login__gte=timezone.now() - datetime.timedelta(days=logged_in_days_ago), + ) + if not force_sync: users = users.filter( remote_repository_relations__isnull=True @@ -77,7 +100,19 @@ def handle(self, *args, **options): if skip_users: users = users.exclude(username__in=skip_users) - if sync_users or skip_users: + revoked_users = [] + if skip_revoked_users: + # `revoked-users.json` was created by a script pullig down data from Sentry + # https://gist.github.com/humitos/aba1a004abeb3552fd8ef9a741f5dce1 + revoked_users = json.load(open('revoked-users.json', 'r')) + users = users.exclude(username__in=revoked_users) + self.stdout.write( + self.style.WARNING( + f'Excluding {len(revoked_users)} revoked users.' + ) + ) + + if sync_users or skip_users or revoked_users: self.stdout.write( self.style.SUCCESS( f'Found {users.count()} user(s) with the given parameters' From 53a1b95ab892e9d1fbec2cb78dc30d93d54d8d43 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Mon, 15 Mar 2021 13:53:13 +0100 Subject: [PATCH 89/89] Update readthedocs/oauth/management/commands/sync_vcs_data.py Co-authored-by: Maksudul Haque --- readthedocs/oauth/management/commands/sync_vcs_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readthedocs/oauth/management/commands/sync_vcs_data.py b/readthedocs/oauth/management/commands/sync_vcs_data.py index 6fc8448b1d8..4cfb36ac1bf 100644 --- a/readthedocs/oauth/management/commands/sync_vcs_data.py +++ b/readthedocs/oauth/management/commands/sync_vcs_data.py @@ -78,7 +78,7 @@ def handle(self, *args, **options): socialaccount__isnull=False ).distinct() - if logged_in_days_ago: + if logged_in_days_ago > 0: users = users.filter( last_login__gte=timezone.now() - datetime.timedelta(days=logged_in_days_ago), )