@ -12,12 +12,18 @@ export const DOMAIN_BLOCKS_FETCH_REQUEST = 'DOMAIN_BLOCKS_FETCH_REQUEST';
export const DOMAIN_BLOCKS_FETCH_SUCCESS = 'DOMAIN_BLOCKS_FETCH_SUCCESS' ;
export const DOMAIN_BLOCKS_FETCH_FAIL = 'DOMAIN_BLOCKS_FETCH_FAIL' ;
export function blockDomain ( domain , accountId ) {
export const DOMAIN_BLOCKS_EXPAND_REQUEST = 'DOMAIN_BLOCKS_EXPAND_REQUEST' ;
export const DOMAIN_BLOCKS_EXPAND_SUCCESS = 'DOMAIN_BLOCKS_EXPAND_SUCCESS' ;
export const DOMAIN_BLOCKS_EXPAND_FAIL = 'DOMAIN_BLOCKS_EXPAND_FAIL' ;
export function blockDomain ( domain ) {
return ( dispatch , getState ) => {
dispatch ( blockDomainRequest ( domain ) ) ;
api ( getState ) . post ( '/api/v1/domain_blocks' , { domain } ) . then ( ( ) => {
dispatch ( blockDomainSuccess ( domain , accountId ) ) ;
const at_domain = '@' + domain ;
const accounts = getState ( ) . get ( 'accounts' ) . filter ( item => item . get ( 'acct' ) . endsWith ( at_domain ) ) . valueSeq ( ) . map ( item => item . get ( 'id' ) ) ;
dispatch ( blockDomainSuccess ( domain , accounts ) ) ;
} ) . catch ( err => {
dispatch ( blockDomainFail ( domain , err ) ) ;
} ) ;
@ -31,11 +37,11 @@ export function blockDomainRequest(domain) {
} ;
} ;
export function blockDomainSuccess ( domain , accountId ) {
export function blockDomainSuccess ( domain , accounts ) {
return {
type : DOMAIN_BLOCK_SUCCESS ,
domain ,
accountId ,
accounts ,
} ;
} ;
@ -47,12 +53,14 @@ export function blockDomainFail(domain, error) {
} ;
} ;
export function unblockDomain ( domain , accountId ) {
export function unblockDomain ( domain ) {
return ( dispatch , getState ) => {
dispatch ( unblockDomainRequest ( domain ) ) ;
api ( getState ) . delete ( '/api/v1/domain_blocks' , { params : { domain } } ) . then ( ( ) => {
dispatch ( unblockDomainSuccess ( domain , accountId ) ) ;
const at_domain = '@' + domain ;
const accounts = getState ( ) . get ( 'accounts' ) . filter ( item => item . get ( 'acct' ) . endsWith ( at_domain ) ) . valueSeq ( ) . map ( item => item . get ( 'id' ) ) ;
dispatch ( unblockDomainSuccess ( domain , accounts ) ) ;
} ) . catch ( err => {
dispatch ( unblockDomainFail ( domain , err ) ) ;
} ) ;
@ -66,11 +74,11 @@ export function unblockDomainRequest(domain) {
} ;
} ;
export function unblockDomainSuccess ( domain , accountId ) {
export function unblockDomainSuccess ( domain , accounts ) {
return {
type : DOMAIN_UNBLOCK_SUCCESS ,
domain ,
accountId ,
accounts ,
} ;
} ;
@ -86,7 +94,7 @@ export function fetchDomainBlocks() {
return ( dispatch , getState ) => {
dispatch ( fetchDomainBlocksRequest ( ) ) ;
api ( getState ) . get ( ) . then ( response => {
api ( getState ) . get ( '/api/v1/domain_blocks' ) . then ( response => {
const next = getLinks ( response ) . refs . find ( link => link . rel === 'next' ) ;
dispatch ( fetchDomainBlocksSuccess ( response . data , next ? next . uri : null ) ) ;
} ) . catch ( err => {
@ -115,3 +123,43 @@ export function fetchDomainBlocksFail(error) {
error ,
} ;
} ;
export function expandDomainBlocks ( ) {
return ( dispatch , getState ) => {
const url = getState ( ) . getIn ( [ 'domain_lists' , 'blocks' , 'next' ] ) ;
if ( url === null ) {
return ;
}
dispatch ( expandDomainBlocksRequest ( ) ) ;
api ( getState ) . get ( url ) . then ( response => {
const next = getLinks ( response ) . refs . find ( link => link . rel === 'next' ) ;
dispatch ( expandDomainBlocksSuccess ( response . data , next ? next . uri : null ) ) ;
} ) . catch ( err => {
dispatch ( expandDomainBlocksFail ( err ) ) ;
} ) ;
} ;
} ;
export function expandDomainBlocksRequest ( ) {
return {
type : DOMAIN_BLOCKS_EXPAND_REQUEST ,
} ;
} ;
export function expandDomainBlocksSuccess ( domains , next ) {
return {
type : DOMAIN_BLOCKS_EXPAND_SUCCESS ,
domains ,
next ,
} ;
} ;
export function expandDomainBlocksFail ( error ) {
return {
type : DOMAIN_BLOCKS_EXPAND_FAIL ,
error ,
} ;
} ;