public OrganizationModule(ICommandDispatcher commandDispatcher, IOrganizationStorage organizationStorage, IValidatorResolver validatorResolver) : base(commandDispatcher, validatorResolver, modulePath: "organizations") { Get("{id}", async args => await Fetch <GetOrganization, Organization> (async x => await organizationStorage.GetAsync(x.Id)).HandleAsync()); Get("", async args => await FetchCollection <BrowseOrganizations, Organization> (async x => await organizationStorage.BrowseAsync(x)) .MapTo(x => new BasicOrganization { Id = x.Id, Name = x.Name, Codename = x.Codename, IsPublic = x.IsPublic, State = x.State, CreatedAt = x.CreatedAt, MembersCount = x.Members?.Count ?? 0, GroupsCount = x.Groups?.Count ?? 0 }).HandleAsync()); Post("", async args => await For <CreateOrganization>() .SetResourceId(x => x.OrganizationId) .OnSuccessAccepted("organizations/{0}") .DispatchAsync()); Post("{organizationId}/members", async args => await ForModerator <AddMemberToOrganization>() .OnSuccessAccepted("organizations/{0}") .DispatchAsync()); }
public WardensModule(ICommandDispatcher commandDispatcher, IValidatorResolver validatorResolver, IIdentityProvider identityProvider, IOrganizationStorage organizationStorage) : base(commandDispatcher, validatorResolver, identityProvider, modulePath: "organizations/{organizationId}/wardens") { Get("{wardenId}", async args => await Fetch <GetWarden, Warden.Services.Storage.Models.Organizations.Warden> (async x => await organizationStorage.GetWardenAsync(x.UserId, x.OrganizationId, x.WardenId)) .HandleAsync()); Post("", async args => await For <RequestNewWarden>() .SetResourceId(x => x.WardenId) .OnSuccessAccepted($"organizations/{args.organizationId}/wardens/" + "{0}") .DispatchAsync()); Post("external", async args => await For <CreateExternalWarden>() .SetResourceId(x => x.WardenId) .OnSuccessAccepted($"organizations/{args.organizationId}/wardens/" + "{0}") .DispatchAsync()); Delete("{wardenId}", async args => await For <DeleteWarden>() .OnSuccessAccepted() .DispatchAsync()); }
public OrganizationsModule(ICommandDispatcher commandDispatcher, IValidatorResolver validatorResolver, IIdentityProvider identityProvider, IOrganizationStorage organizationStorage) : base(commandDispatcher, validatorResolver, identityProvider, modulePath: "organizations") { Get("", async args => await FetchCollection <BrowseOrganizations, Organization> (async x => await organizationStorage.BrowseAsync(x)) .HandleAsync()); Get("{id}", async args => await Fetch <GetOrganization, Organization> (async x => await organizationStorage.GetAsync(x.UserId, x.Id)) .HandleAsync()); Post("", async args => await For <RequestNewOrganization>() .SetResourceId(x => x.OrganizationId) .OnSuccessAccepted("organizations/{0}") .DispatchAsync()); Put("{id}", async args => await For <UpdateOrganization>() .OnSuccess(HttpStatusCode.NoContent) .DispatchAsync()); Delete("{id}", async args => await For <DeleteOrganization>() .OnSuccess(HttpStatusCode.NoContent) .DispatchAsync()); }
public void Init() { string[] strArray = Utility.GetConfig().AppSettings.Settings["OrganizationStorageImpl"].Value.Split(new char[] { ' ' }); ConstructorInfo constructor = Assembly.Load(strArray[0]).GetType(strArray[1]).GetConstructor(new Type[0]); this.m_IOrganizationStorage = constructor.Invoke(new object[0]) as IOrganizationStorage; }
public OrganizationManager(IOrganizationStorage <TOrganization> organizationStorage, IOrganizationProcessor <TOrganization, TOrganizationCreateForm, TOrganizationUpdateForm> organizationProcessor, IOrganizationUserStorage <TOrganizationUser, TUser> organizationUserStorage) { this.organizationStorage = organizationStorage; this.organizationProcessor = organizationProcessor; this.organizationUserStorage = organizationUserStorage; }