meteor / todos Goto Github PK
View Code? Open in Web Editor NEWThe example app "Todos", written following the Meteor Guide
License: Other
The example app "Todos", written following the Meteor Guide
License: Other
Meteor.ValidationError
It's a shame not to demo this, and perhaps this means we should build out account merging?
There's a decision to be made on how deep we want to go into the accounts rabbit hole - perhaps we could leave this for later.
Make sure you can reset your password. This is a matter of figuring out how to get useraccounts to do it for us.
It's challenging to do right now, and in fact isn't super necessary because we can use StubCollections to test it properly anyway.
But it does violate a couple of principles:
We could pass the list
and todos
into it though. The main issue is the performance (re-rendering of all todo items when you check an item off). Still need to resolve that.
Which is stopping our automatic tests from passing: https://circleci.com/gh/meteor/todos/5
To demonstrate customizing email with HTML, using JS template strings.
Collections - don't expose the collection directly, have an API for talking to it in case you need to change the schema or guarantees later
Follow all the patterns from the blaze article
Does out world support auditing Method validation?
For instance, when trying to remove the last public list. I think yes.
So that we can do better authorization and avoid fetching the List for every todo operation.
Probably using a collection helper
For now I've replaced the uihooks with a simple momentum fade, but we should talk about why the hold was there before.
Usually the insertElement
callback wouldn't fire when the thing was first rendered, so we should investigate what's going on in vanilla todos.
Something like:
Meteor.publishComposite('list/todos', function(listId) {
check(listId, String);
const userId = this.userId;
return {
find() {
return Lists.find({_id: listId, {userId: {$or: [{$exists: false}, userId]}});
},
children: [
{
find(list) {
return Todos.find({listId: list._id});
}
}
]
};
});
This would mean:
a) We wouldn't need to have the userId
denormalizer (we have a second denormalizer, so we still demonstrate the pattern)
b) We'd actually be using publish-composite, so we'd have an example to use
c) We'd also be showing how the authorization works
We should make it look like the warning message, but green.
Look at using https://chimp.readme.io to build these.
For example, when a list becomes private you shouldn't be able to access its todo items anymore
It's in the outline!
I don't know if we are denying it currently
Look at using: https://github.com/anticoders/gagarin to build these.
I think this includes:
app-
if that's what we are doingNot sure about this one
@avital and @stubailo (bringing this over from slack as this seems a more persistent place).
I'm looking at solving this problem a different way (using MM {fields}
), but as it turns out, the problem has re-appeared in this repo somehow, even though AFAICT we are still following the same pattern of using {{#with list._id}}
.
I can't for the life of me figure out what's different. I've played around with it a bit. Perhaps one of you two can figure it out easily?
here's your original commit to fix it: meteor/meteor@2e425df
Should we use i18n? Should we just hard-code the errors on the server?
Perhaps by adding the force-ssl package?
How does this interact with useraccounts?
e.g. http://localhost:3000/lists/xyz
Probably we need to wrap listShowPage
in an {{#if}}
. Or should it be done lower down the tree?
Right now, you could use Meteor.loginWithPassword to log in with a username from the console. We should prevent that, and test that you can't log in with invalid stuff.
That's not correct - apparently useraccounts enforces it for you! Wow.
@splendido, can you help me understand more about exactly what useraccounts is guaranteed to enforce?
This can be as simple as adding deny rules for every collection
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.