Пользователь метеорной карты в коллекцию - PullRequest
0 голосов
/ 25 октября 2018

Я создал приложение, которое пользователи могут регистрировать, входить в систему и создавать информацию.Каждый пользователь может в настоящее время войти в систему и иметь доступ к заметкам, которые он / она создал.В общем, я создал методы публикации и подписки.

У меня есть логин администратора, который может просматривать и обновлять все документы, созданные разными пользователями.Теперь я хочу сделать это наоборот.Я не хочу, чтобы пользователи регистрировались, администратор должен создавать учетные записи пользователей и создавать для них начальные заметки.Как только данные для входа в систему будут предоставлены, пользователь должен иметь возможность войти в систему, просмотреть, прочитать и обновить информацию, созданную пользователем с правами администратора.

Моя проблема в том, как мне сопоставить пользователя с документом, поскольку он будетсоздано пользователями-администраторами?

Текущее создание пользователя:

import { Meteor } from 'meteor/meteor';
import SimpleSchema from 'simpl-schema';
import { Accounts } from 'meteor/accounts-base';

export const validateNewUser = (user) => {
  const email = user.emails[0].address;

  new SimpleSchema({
    email: {
      type: String,
      regEx: SimpleSchema.RegEx.Email
    }
  }).validate({ email });

  return true;
};

if (Meteor.isServer) {
  Accounts.validateNewUser(validateNewUser);  
}

Создание документа

Meteor.publish("docs", function() {
    return Docs.find({ userId: this.userId });
  });

Meteor.methods({
  "docs.insert"(
    name,
    title,
    purpose
  ) {
    if (!this.userId) {
      throw new Meteor.Error("not-authorized");
    }
return Docs.insert({
      name,
      title,
      purpose
      userId: this.userId,
    });
  },

Пользователь-администратор создаст как учетные записи пользователей, так и информацию о пользователе. Как это сделать?Я сопоставляю учетную запись пользователя с информацией о пользователе, чтобы пользователь мог войти в систему и просмотреть информацию, которая была добавлена ​​для него?

...