All files / src/redux/slices/accessControl initialState.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238        541x                                                                                                                                                                                                                                                                                                                                                                                                                                 541x 40575x                                   541x          
import { composePermission } from "features/Permissions/AccessControl/utils";
import { IAccessControlState } from "./types";
import RESOURCE_BASE, { OPERATIONS } from "@constants/permissions";
 
const permissions = [
  // acquirer permissions - GET, POST, PATCH and DELETE - all portals
  RESOURCE_BASE.ACQUIRER,
  // merchants permissions - GET, POST, PATCH and DELETE - all portals
  RESOURCE_BASE.MERCHANT,
  // enterprises permissions - GET, POST, PATCH and DELETE - all portals
  RESOURCE_BASE.ENTERPRISE,
  // team member permissions- acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.MEMBER),
  // team member permissions- enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.MEMBER),
  // team member permissions- merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.MEMBER),
  //invite team member permission- acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.INVITE),
  //invite team member permission- enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.INVITE),
  //invite team member permission- merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.INVITE),
  // control mode permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.ACCESS_CONTROL),
  // control mode permission - enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.ACCESS_CONTROL),
  // customers permissions - GET, POST, PATCH and DELETE - all portals
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.CUSTOMER),
  // user permission - all portals
  RESOURCE_BASE.USER,
  // move funds (manual transfer funds) permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.MOVE_FUNDS),
  // transfer money permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.BANK_TRANSFER),
  // transfer money permission - enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.BANK_TRANSFER),
  // transfer money permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.BANK_TRANSFER),
  // files permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.FILES),
  // files permission - enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.FILES),
  // files permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.FILES),
  // bank account permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.BANK_ACCOUNT),
  // bank account permission - enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.BANK_ACCOUNT),
  // bank account permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.BANK_ACCOUNT),
  // legal entity permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.LEGAL_ENTITY),
  // legal entity permission - enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.LEGAL_ENTITY),
  // legal entity permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.LEGAL_ENTITY),
  // business owner permission - acquirer portal
  composePermission(
    RESOURCE_BASE.ACQUIRER,
    RESOURCE_BASE.LEGAL_ENTITY,
    RESOURCE_BASE.PRINCIPAL,
  ),
  // business owner permission - enterprise portal
  composePermission(
    RESOURCE_BASE.ENTERPRISE,
    RESOURCE_BASE.LEGAL_ENTITY,
    RESOURCE_BASE.PRINCIPAL,
  ),
  // business owner permission - merchant portal
  composePermission(
    RESOURCE_BASE.MERCHANT,
    RESOURCE_BASE.LEGAL_ENTITY,
    RESOURCE_BASE.PRINCIPAL,
  ),
  // media-item permission - merchant portal
  composePermission(
    RESOURCE_BASE.MERCHANT,
    RESOURCE_BASE.PRODUCT,
    RESOURCE_BASE.MEDIA_ITEM,
  ),
  // add/edit/delete product - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.PRODUCT),
  // add/edit/delete product - merchant portal
  composePermission(
    RESOURCE_BASE.MERCHANT,
    RESOURCE_BASE.PRODUCT,
    RESOURCE_BASE.AMOUNT,
  ),
  // view/update underwriting-checklist - merchant portal
  composePermission(
    RESOURCE_BASE.MERCHANT,
    RESOURCE_BASE.UNDERWRITING_CHECKLIST,
  ),
  // GET, POST, PATCH -underwriting/comments - merchant portal
  composePermission(
    RESOURCE_BASE.MERCHANT,
    RESOURCE_BASE.UNDERWRITING_COMMENTS,
  ),
  // view snapshot permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.SNAPSHOT),
  // transaction stats permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.TRANSACTION_STATS),
  // transaction stats permission - enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.TRANSACTION_STATS),
  // transaction stats permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.TRANSACTION_STATS),
  // transaction permission - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.TRANSACTION),
  // transaction permission - enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.TRANSACTION),
  // transaction permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.TRANSACTION),
  // refund permission
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.REFUND),
  // send receipt permission
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.RECEIPT),
  // refund permission
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.CHARGEBACK),
  // send receipt permission
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.CHARGEBACK_REVERSAL),
  // OFAC permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.OFAC),
  // view snapshot permission - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.SNAPSHOT),
  //update underwriting - merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.UNDERWRITING),
  // category-code -acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.CATEGORY_CODE),
  // category-code -enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.CATEGORY_CODE),
  // category-code -merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.CATEGORY_CODE),
  // ip profile - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.IPPROFILE),
  // ip profile transactions - acquirer portal
  composePermission(
    RESOURCE_BASE.ACQUIRER,
    RESOURCE_BASE.IPPROFILE_TRANSACTION,
  ),
  // ip profile escalations - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.IPPROFILE_ESCALATION),
  // block transactions - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.TRANSACTION_BLOCK),
  // unblock transactions - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.TRANSACTION_UNBLOCK),
  // ip profile - enteprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.IPPROFILE),
  // ip profile transactions - enteprise portal
  composePermission(
    RESOURCE_BASE.ENTERPRISE,
    RESOURCE_BASE.IPPROFILE_TRANSACTION,
  ),
  // ip profile escalations - enteprise portal
  composePermission(
    RESOURCE_BASE.ENTERPRISE,
    RESOURCE_BASE.IPPROFILE_ESCALATION,
  ),
  // block transactions - enteprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.TRANSACTION_BLOCK),
  // unblock transactions - enteprise portal
  composePermission(
    RESOURCE_BASE.ENTERPRISE,
    RESOURCE_BASE.TRANSACTION_UNBLOCK,
  ),
  // msp -acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.MSP),
  // msp -enterprise portal
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.MSP),
  // msp -merchant portal
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.MSP),
  // permissions - acquirer portal
  composePermission(
    RESOURCE_BASE.ACQUIRER,
    RESOURCE_BASE.MEMBER,
    RESOURCE_BASE.ACCESS_POLICIES,
  ),
  // permissions - enterprise portal
  composePermission(
    RESOURCE_BASE.ENTERPRISE,
    RESOURCE_BASE.MEMBER,
    RESOURCE_BASE.ACCESS_POLICIES,
  ),
  // permissions - merchant portal
  composePermission(
    RESOURCE_BASE.MERCHANT,
    RESOURCE_BASE.MEMBER,
    RESOURCE_BASE.ACCESS_POLICIES,
  ),
  // pep check
  composePermission(
    RESOURCE_BASE.MERCHANT,
    RESOURCE_BASE.LEGAL_ENTITY,
    RESOURCE_BASE.PRINCIPAL,
    RESOURCE_BASE.PEP,
  ),
  // custom enterprise domain
  composePermission(RESOURCE_BASE.ENTERPRISE, RESOURCE_BASE.CUSTOM_DOMAIN),
 
  // custom enterprise configuration list
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.CONFIGURATION),
 
  // custom merchant tasks
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.TASK),
 
  //merchnt risk factor check
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.RISK_PROFILE_FACTOR),
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.CONVERSATION_MESSAGE),
  composePermission(RESOURCE_BASE.MERCHANT, RESOURCE_BASE.RISK_PROFILE),
  // global security controls - acquirer portal
  composePermission(RESOURCE_BASE.ACQUIRER, RESOURCE_BASE.SECURITY_CONFIG),
];
 
export const authorizations = permissions.reduce(
  (acc, v) => ({
    ...acc,
    [v]: {
      [OPERATIONS.READ]: "allow",
      [OPERATIONS.LIST]: "allow",
      [OPERATIONS.CREATE]: "allow",
      [OPERATIONS.UPDATE]: "allow",
      [OPERATIONS.DELETE]: "allow",
      [OPERATIONS.EXPORT]: "allow",
      [OPERATIONS.SUBMIT]: "allow",
      [OPERATIONS.CANCEL]: "allow",
      [OPERATIONS.ATTACH]: "allow",
      [OPERATIONS.BLOCK]: "allow",
    },
  }),
  {},
);
 
const initialState: IAccessControlState = {
  authorizations,
};
 
export default initialState;