Example #1
0
from dddp.api import API, Collection, Publication
from JON import models


class Program(Collection):
    model = models.Program


class Project(Collection):
    model = models.Project


class Programs(Publication):
    queries = [
        models.Program.objects.all(),
    ]


class Projects(Publication):
    queries = [
        models.Project.objects.all(),
    ]


API.register([
    Program,
    Project,
    Programs,
    Projects,
])
from __future__ import absolute_import, unicode_literals

from dddp.api import API, Collection, Publication
from django_ddp_app import models


class Notification(Collection):
    model = models.Notification


class Notifications(Publication):
    queries = [
        models.Notification.objects.all().reverse(),
    ]

API.register([
    Notification,
    Notifications,
]);
Example #3
0
from __future__ import absolute_import, unicode_literals

from dddp.api import API, Collection, Publication
from django_todos import models


class Task(Collection):
    model = models.Task


class Tasks(Publication):
    queries = [
        models.Task.objects.all(),
    ]


API.register([
    Task,
    Tasks,
])
Example #4
0
        days_valid = HASH_DAYS_VALID[HashPurpose.PASSWORD_RESET]
        token = get_user_token(
            user=user,
            purpose=HashPurpose.PASSWORD_RESET,
            days_valid=days_valid,
        )

        forgot_password.send(
            sender=__name__,
            user=user,
            token=token,
            request=this.request,
            expiry_date=calc_expiry_time(days_valid),
        )

    @api_endpoint('resetPassword')
    def reset_password(self, token, new_password):
        """Reset password using a token received in email then logs user in."""
        user = self.validated_user(
            token,
            purpose=HashPurpose.PASSWORD_RESET,
            days_valid=HASH_DAYS_VALID[HashPurpose.PASSWORD_RESET],
        )
        user.set_password(new_password)
        user.save()
        self.do_login(user)
        return {"userId": this.user_ddp_id}


API.register([Users, LoginServiceConfiguration, LoggedInUser, Auth])
Example #5
0
from dddp import THREAD_LOCAL as this
from dddp.api import API, Publication
from dddp.logging import LOGS_NAME
from django.contrib import auth


class Logs(Publication):

    name = LOGS_NAME
    users = auth.get_user_model()

    def get_queries(self):
        user_pk = getattr(this, 'user_id', False)
        if user_pk:
            if self.users.objects.filter(
                    pk=user_pk,
                    is_active=True,
                    is_superuser=True,
            ).exists():
                return []
        raise ValueError('User not permitted.')


API.register([Logs])
Example #6
0
from dddp.api import API, Publication
from dddp.logging import LOGS_NAME


class ClientVersions(Publication):
    """Publication for `meteor_autoupdate_clientVersions`."""

    name = 'meteor_autoupdate_clientVersions'

    queries = []


class Logs(Publication):

    name = LOGS_NAME
    users = auth.get_user_model()

    def get_queries(self):
        user_pk = getattr(THREAD_LOCAL, 'user_id', False)
        if user_pk:
            if self.users.objects.filter(
                pk=user_pk,
                is_active=True,
                is_superuser=True,
            ).exists():
                return []
        raise ValueError('User not permitted.')


API.register([ClientVersions, Logs])
Example #7
0
from dddp import THREAD_LOCAL as this
from dddp.api import API, Publication
from django.contrib import auth


class Logs(Publication):

    users = auth.get_user_model()

    def get_queries(self):
        user_pk = getattr(this, "user_id", False)
        if user_pk:
            if self.users.objects.filter(pk=user_pk, is_active=True, is_superuser=True).exists():
                return []
        raise ValueError("User not permitted.")


API.register([Logs])
Example #8
0
from __future__ import absolute_import, unicode_literals

from dddp.api import API, Collection, Publication
from django_todos import models


class Task(Collection):
    model = models.Task


class Tasks(Publication):
    queries = [
        models.Task.objects.all(),
    ]

API.register([
    Task,
    Tasks,
])
Example #9
0
            self.auth_failed()

        minutes_valid = HASH_MINUTES_VALID[HashPurpose.PASSWORD_RESET]
        token = get_user_token(
            user=user, purpose=HashPurpose.PASSWORD_RESET,
            minutes_valid=minutes_valid,
        )

        forgot_password.send(
            sender=__name__,
            user=user,
            token=token,
            request=this.request,
            expiry_date=calc_expiry_time(minutes_valid),
        )

    @api_endpoint('resetPassword')
    def reset_password(self, token, new_password):
        """Reset password using a token received in email then logs user in."""
        user = self.validated_user(
            token, purpose=HashPurpose.PASSWORD_RESET,
            minutes_valid=HASH_MINUTES_VALID[HashPurpose.PASSWORD_RESET],
        )
        user.set_password(new_password)
        user.save()
        self.do_login(user)
        return {"userId": this.user_ddp_id}


API.register([Users, LoginServiceConfiguration, LoggedInUser, Auth])
Example #10
0
from dddp.api import API, Publication
from dddp.logging import LOGS_NAME


class ClientVersions(Publication):
    """Publication for `meteor_autoupdate_clientVersions`."""

    name = 'meteor_autoupdate_clientVersions'

    queries = []


class Logs(Publication):

    name = LOGS_NAME
    users = auth.get_user_model()

    def get_queries(self):
        user_pk = getattr(THREAD_LOCAL, 'user_id', False)
        if user_pk:
            if self.users.objects.filter(
                    pk=user_pk,
                    is_active=True,
                    is_superuser=True,
            ).exists():
                return []
        raise ValueError('User not permitted.')


API.register([ClientVersions, Logs])
Example #11
0
    @api_endpoint('remove')
    def remove(self, params):
      obj = models.Todos.objects.get(aid=params['_id'])
      obj.delete()


class publicLists(Publication):
    queries = [
        models.List.objects.all(),
    ]

class privateLists(Publication):
    queries = []


class todos(Publication):
    def get_queries(self, listId):
        return [
            models.Todos.objects.filter(listId=listId)
        ]



API.register([
    Lists,
    Todos,
    publicLists,
    privateLists,
    todos,
])
Example #12
0
from dddp.api import API,DDP, Collection, Publication
from .models import Task1


class TaskCollection(Collection):
    model = Task1


class TaskPub(Publication):
    queries = [
        Task1.objects.all(),
    ]

API.register([
    TaskCollection,
    TaskPub,
])
Example #13
0
        'room__participant__user',
    ]


class Message(Collection):
    model = chat.Message
    user_rel = [
        'room__participant__user',
    ]


class PublicRooms(Publication):
    queries = [
        chat.Room.objects.filter(public=True),
    ]


class RoomRelated(Publication):
    @staticmethod
    def get_queries(room_slug):
        yield chat.Room.objects.filter(slug=room_slug)
        yield auth.User.objects.filter(participant__room__slug=room_slug)
        yield chat.Participant.objects.filter(room__slug=room_slug)
        yield chat.Message.objects.filter(room__slug=room_slug)


API.register([
    Room, User, Participant, Message,
    PublicRooms, RoomRelated,
])
Example #14
0
        expiry_date = this.request.session.get_expiry_date()
        token = self.get_user_token(
            user=user, session_key=this.request.session.session_key,
            expiry_date=expiry_date,
            purpose=HashPurpose.PASSWORD_RESET,
        )

        forgot_password.send(
            sender=__name__,
            user=user,
            token=token,
            request=this.request,
            expiry_date=expiry_date,
        )

    @api_endpoint('resetPassword')
    def reset_password(self, token, new_password):
        """Reset password using a token received in email then logs user in."""
        user, _ = self.validated_user_and_session(
            token, purpose=HashPurpose.PASSWORD_RESET,
        )
        user.set_password(new_password)
        user.save()
        auth.login(this.request, user)
        self.update_subs(user.pk)
        return {"userId": get_meteor_id(this.request.user)};


API.register([Users, LoginPublication, Auth])