예제 #1
0
        public async Task <string> React(PublicId userId, PublicId toId, ReactionType type)
        {
            var reaction = (ActivityObject)Activator.CreateInstance(CustomJsonSerializer.TypeOf(type.ToString()));

            reaction.actor = new List <BaseObject> {
                new Common.Person {
                    PublicId = userId,
                }
            }.ToCollection();

            var target = await _activityContent.Get(toId, userId);

            if (target != null)
            {
                reaction.target = new List <BaseObject> {
                    target
                }.ToCollection();

                var res = await _activityStream.Post("outbox", reaction);

                return(reaction.id);
            }
            else
            {
                return(null);
            }
        }
예제 #2
0
        public async Task <BaseObject> Get(PublicId id, PublicId viewerId)
        {
            var target = (BaseObject)Activator.CreateInstance(CustomJsonSerializer.TypeOf(id.Type));

            target.PublicId = id;
            await BindSqlContent(target);

            return(target);
        }