{"version":3,"sources":["services/userService.js","authProvider.js","i18n/en.js","i18n/ja.js","i18n/i18nProvider.js","components/mcaccount/McAccountList.js","components/mcaccount/McAccountCreate.js","components/mcaccount/CertDownloadButton.js","components/mcaccount/McAccountEdit.js","components/GtfsfeedList.js","components/GtfsfeedCreate.js","components/GtfsfeedEdit.js","components/GtfsfeedShow.js","components/OrgOwnerList.js","components/OrgOwnerCreate.js","components/TempPassword.js","components/OrgOwnerEdit.js","App.js","serviceWorker.js","index.js"],"names":["_keycloak","Keycloak","process","doLogin","login","doLogout","logout","getToken","token","getIdToken","idToken","updateToken","initKeycloak","onAuthenticatedCallback","init","onLoad","silentCheckSsoRedirectUri","window","location","origin","success","authenticated","console","warn","getUsername","tokenParsed","preferred_username","updateState","localStorage","setItem","onAuthSuccess","onAuthRefreshSuccess","onAuthLogout","onTokenExpired","authProvider","username","password","request","Request","method","body","JSON","stringify","headers","Headers","fetch","then","response","status","Error","statusText","json","accessToken","removeItem","UserService","Promise","reject","checkAuth","getItem","resolve","checkError","error","getPermissions","messages","title","resources","name","fields","id","email","phoneNumber","isEnabled","roles","otherRoles","remarks","realm","orgid","orgIds","organizations","temppassword","attribute","publisherName","uri","versions","mobustationCompanyId","approachNotification","gtfsStatic","gtfsRealTime","license","validationErrors","user","orgOwner","i18nProvider","polyglotI18nProvider","resolveBrowserLocale","englishMessages","enCustomMessages","japaneseMessages","jaCustomMessages","McAccountFilter","props","Filter","TextInput","source","McAccountList","List","this","filters","perPage","bulkActionButtons","Datagrid","TextField","sortable","BooleanField","EditButton","React","Component","validatAccountId","required","maxLength","regex","validatPhoneNumber","validatOtherRoles","validatPassword","minLength","McAccountCreate","alpha","caps","options","generatePasswordWithOptions","length","passwordArray","Array","i","currentOption","Math","floor","random","randomChar","charAt","push","pwd","generatePassword","Create","SimpleForm","redirect","submitOnEnter","validate","defaultValue","CheckboxGroupInput","choices","CertDownloadButton","state","loading","handleClick","bind","org_id","record","blob","anchor","document","createElement","download","href","URL","createObjectURL","click","catch","err","log","Button","onClick","disabled","variant","style","marginLeft","paddingRight","PostEditToolbar","Toolbar","SaveButton","McAccountEdit","Edit","toolbar","label","GtfsfeedFilter","GtfsfeedList","ShowButton","GtfsfeedCreate","BooleanInput","GtfsfeedEdit","GtfsfeedShow","match","params","Show","SimpleShowLayout","OrgOwnerFilter","useStyles","makeStyles","owner","backgroundColor","ColoredChipField","classes","ChipField","className","classnames","data","indexOf","OrgOwnerList","ArrayField","SingleFieldList","linkType","validatOrgId","OrgOwnerCreate","ArrayInput","SimpleFormIterator","TempPassButton","handleChange","event","passvalue","target","value","validation","setState","open","message","pass","userId","tempPassword","alert","test","color","startIcon","Dialog","onClose","handleClose","DialogTitle","DialogContent","DialogContentText","autoFocus","onChange","fullWidth","DialogActions","httpClientDefault","url","Accept","fetchUtils","fetchJson","httpClientMcAccount","set","httpClientMobustation","dataProvider","type","resource","provider","simpleRestProvider","jsonServerProvider","getList","getOne","getMany","getManyReference","create","update","updateMany","delete","deleteMany","App","Admin","loginPage","Resource","icon","GroupIcon","list","edit","PeopleIcon","OrgOwnerEdit","InsertDriveFileIcon","show","Boolean","hostname","navigator","serviceWorker","ready","registration","unregister","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.723a2ae2.chunk.js","sourcesContent":["import Keycloak from \"keycloak-js\";\r\n\r\nconst _keycloak = new Keycloak(process.env.REACT_APP_KEYCLOAK_JSON);\r\n\r\n/**\r\n * Initializes Keycloak instance and calls the provided callback function if successfully authenticated.\r\n *\r\n * @param onAuthenticatedCallback\r\n */\r\nconst initKeycloak = (onAuthenticatedCallback) => {\r\n _keycloak.init({\r\n onLoad: 'check-sso',\r\n silentCheckSsoRedirectUri: window.location.origin + '/silent-check-sso.html',\r\n })\r\n .success(function (authenticated) {\r\n if (authenticated) {\r\n onAuthenticatedCallback();\r\n } else {\r\n console.warn(\"not authenticated!\");\r\n doLogin();\r\n }\r\n })\r\n};\r\n\r\nconst doLogin = _keycloak.login;\r\n\r\nconst doLogout = _keycloak.logout;\r\n\r\nconst getToken = () => _keycloak.token;\r\n\r\nconst getIdToken = () => _keycloak.idToken;\r\n\r\nconst updateToken = _keycloak.updateToken;\r\n\r\nconst getUsername = () => _keycloak.tokenParsed.preferred_username;\r\n\r\nexport default {\r\n initKeycloak,\r\n doLogin,\r\n doLogout,\r\n getToken,\r\n getIdToken,\r\n updateToken,\r\n getUsername,\r\n}\r\n\r\nfunction updateState() {\r\n if (_keycloak.authenticated) {\r\n localStorage.setItem('token', getIdToken());\r\n localStorage.setItem('access_token', getToken());\r\n } else {\r\n doLogin();\r\n }\r\n}\r\n\r\n_keycloak.onAuthSuccess = updateState;\r\n_keycloak.onAuthRefreshSuccess = updateState;\r\n_keycloak.onAuthLogout = updateState;\r\n_keycloak.onTokenExpired = updateToken;","import UserService from \"./services/userService\";\r\n\r\nconst authProvider = {\r\n login: ({ username, password }) => {\r\n const request = new Request(window.location.origin + \"/api/Auth/login\", {\r\n method: 'POST',\r\n body: JSON.stringify({ username, password }),\r\n headers: new Headers({ 'Content-Type': 'application/json' }),\r\n })\r\n\r\n return fetch(request)\r\n .then(response => {\r\n if (response.status < 200 || response.status >= 300) {\r\n throw new Error(response.statusText);\r\n }\r\n return response.json();\r\n })\r\n .then(({ token }) => {\r\n localStorage.setItem('token', token.idToken);\r\n localStorage.setItem('access_token', token.accessToken);\r\n });\r\n },\r\n logout: () => {\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('access_token');\r\n UserService.doLogout();\r\n return Promise.reject()\r\n },\r\n checkAuth: () => {\r\n return localStorage.getItem('token') ? Promise.resolve() : Promise.reject();\r\n },\r\n checkError: (error) => {\r\n const status = error.status;\r\n if (status === 401 || status === 403) {\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('access_token');\r\n return Promise.reject();\r\n }\r\n return Promise.resolve();\r\n },\r\n getPermissions: () => {\r\n return Promise.resolve();\r\n }\r\n};\r\nexport default authProvider;\r\n","export const messages = {\r\n title : 'McAdmin',\r\n\r\n resources: {\r\n \"mcaccount://users\" : {\r\n name: 'organization |||| organizations',\r\n fields: {\r\n id: 'ID',\r\n name: 'Name',\r\n password: 'Password',\r\n email: 'EMail',\r\n phoneNumber: 'PhoneNumber',\r\n isEnabled: 'Enabled',\r\n roles: 'Roles',\r\n otherRoles: 'Other Roles',\r\n remarks: 'Remarks'\r\n },\r\n },\r\n \"mcaccount://orgowners\": {\r\n name: 'owners |||| owners',\r\n fields: {\r\n id: 'ID',\r\n name: 'Name',\r\n realm: 'Realm',\r\n email: 'EMail',\r\n orgid: 'OrganizationID',\r\n orgIds: 'OrganizationIDs',\r\n organizations: 'OrganizationIDs',\r\n roles: 'Roles',\r\n temppassword: 'TempPassword',\r\n attribute: 'Attribute'\r\n }\r\n },\r\n \"mobustation://gtfsfeeds\" : {\r\n name: 'gtfsfeed |||| gtfsfeeds',\r\n fields: {\r\n id: 'ID',\r\n publisherName: 'Publisher Name',\r\n uri: 'URI',\r\n versions: 'Version History',\r\n mobustationCompanyId: 'Mobustation Company Id',\r\n approachNotification: 'Support Approach Notification',\r\n gtfsStatic: 'Static GTFS',\r\n gtfsRealTime: 'GTFS RealTime',\r\n license: 'License'\r\n },\r\n }\r\n },\r\n \r\n validationErrors: {\r\n user: {\r\n id: '英数字およびハイフン、アンダースコアのみで構成して下さい。',\r\n otherRoles: '英小文字のみで構成して下さい。',\r\n },\r\n orgOwner: {\r\n id: '英数字(小文字)およびハイフン、アンダースコア、ドット、アットマークのみで構成して下さい。',\r\n password: '少なくとも英大文字、英小文字、数字をそれぞれ1文字以上使用する必要があります。',\r\n },\r\n phoneNumber : '数字のみで構成して下さい。',\r\n password: '少なくとも英大文字、英小文字、数字、記号をそれぞれ1文字以上使用する必要があります。',\r\n },\r\n};\r\n\r\nexport default messages;","export const messages = {\r\n title : 'McAdmin',\r\n\r\n resources: {\r\n \"mcaccount://users\" : {\r\n name: '組織 |||| 組織',\r\n fields: {\r\n id: 'ID',\r\n name: '名称',\r\n password: 'パスワード',\r\n email: 'Eメール',\r\n phoneNumber: '電話番号',\r\n isEnabled: '有効',\r\n roles: '定義済みロール',\r\n otherRoles: 'その他ロール',\r\n remarks: '備考'\r\n }\r\n },\r\n \"mcaccount://orgowners\": {\r\n name: '組織オーナー |||| 組織オーナー',\r\n fields: {\r\n id: 'ID',\r\n name: '名称',\r\n realm: 'レノム',\r\n email: 'Eメール',\r\n orgid: '組織ID',\r\n orgIds: '組織ID',\r\n organizations: '組織ID',\r\n roles: 'ロール',\r\n temppassword: '一時パスワード',\r\n attribute: '属性情報'\r\n }\r\n },\r\n \"mobustation://gtfsfeeds\" : {\r\n name: 'GTFSフィード |||| GTFSフィード',\r\n fields: {\r\n id: 'ID',\r\n publisherName: '提供組織名',\r\n uri: 'URI',\r\n versions: 'バージョン履歴',\r\n mobustationCompanyId: 'モバステ事業者ID',\r\n approachNotification: '接近案内通知対応',\r\n gtfsStatic: '静的GTFS',\r\n gtfsRealTime: 'GTFSリアルタイム',\r\n license: '利用許諾'\r\n },\r\n }\r\n },\r\n\r\n validationErrors: {\r\n user: {\r\n id: '英数字およびハイフン、アンダースコアのみで構成して下さい。',\r\n otherRoles: '英小文字のみで構成して下さい。',\r\n },\r\n orgOwner: {\r\n id: '英数字(小文字)およびハイフン、アンダースコア、ドット、アットマークのみで構成して下さい。',\r\n password: '少なくとも英大文字、英小文字、数字をそれぞれ1文字以上使用する必要があります。',\r\n },\r\n phoneNumber : '数字のみで構成して下さい。',\r\n password: '少なくとも英大文字、英小文字、数字、記号をそれぞれ1文字以上使用する必要があります。',\r\n },\r\n};\r\n\r\nexport default messages;","import { resolveBrowserLocale } from 'react-admin';\r\n\r\nimport polyglotI18nProvider from 'ra-i18n-polyglot';\r\nimport englishMessages from 'ra-language-english';\r\nimport japaneseMessages from '@bicstone/ra-language-japanese';\r\n\r\nimport enCustomMessages from './en';\r\nimport jaCustomMessages from './ja';\r\n\r\nconst i18nProvider = polyglotI18nProvider(() => {\r\n var locale = resolveBrowserLocale();\r\n\r\n switch (locale) {\r\n case 'en':\r\n return { ...englishMessages, ...enCustomMessages };\r\n default:\r\n return { ...japaneseMessages, ...jaCustomMessages };\r\n }\r\n});\r\n\r\nexport default i18nProvider;","import React from 'react';\r\nimport { Datagrid, TextField, BooleanField, EditButton, Filter, List, TextInput } from 'react-admin';\r\n\r\nconst McAccountFilter = (props) => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default class McAccountList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n \r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n } perPage={25} bulkActionButtons={false} >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Create, ReferenceField, TextField, EditButton, DisabledInput, ReferenceInput, SelectInput, SimpleForm, TextInput, BooleanInput, CheckboxGroupInput, required, maxLength, minLength, email, regex } from 'react-admin';\r\nimport RichTextInput from 'ra-input-rich-text';\r\n\r\nconst validatAccountId = [required(), maxLength(25), regex(/^[a-zA-Z0-9_-]+$/, 'validationErrors.user.id')]; // 英数字およびハイフン、アンダースコアのみ\r\nconst validatPhoneNumber = [maxLength(15), regex(/^[0-9]+$/, 'validationErrors.phoneNumber')]; // 数字および+のみ\r\nconst validatOtherRoles = regex(/^[a-z,]+$/, 'validationErrors.user.otherRoles'); // 英小文字のみ\r\nconst validatPassword = [required(), maxLength(100), minLength(8), regex(/^(?=.*?[a-z])(?=.*?\\d)(?=.*?[!-\\/:-@[-`{-~])[!-~]{8,100}$/i, 'validationErrors.password')];\r\n\r\nexport default class McAccountCreate extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n generatePassword() {\r\n var alpha = \"abcdefghkmnpqrstuvwxyz\"; // [ i, j, l, o ] (アイ, ジェイ, エル, オー)は除外\r\n var caps = \"ABCDEFGHJKLMNPQRSTUVWXYZ\"; // [ I, O ] (アイ, オー)は除外\r\n var numeric = \"23456789\"; // [ 0, 1 ] は除外\r\n var special = \"$^&*-=+_?\"; // [!] は除外\r\n\r\n var options = [alpha, caps, numeric, special];\r\n\r\n var password = \"\";\r\n\r\n // 英小文字を1文字入れる\r\n options = [alpha];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // 英大文字を1文字入れる\r\n options = [caps];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // 数字を1文字入れる\r\n options = [numeric];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // 特殊を1文字入れる\r\n options = [special];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // あとはランダム\r\n options = [alpha, caps, numeric];\r\n password += this.generatePasswordWithOptions(4, options)\r\n\r\n return password;\r\n }\r\n\r\n generatePasswordWithOptions(length, options) {\r\n var password = \"\";\r\n var passwordArray = Array(length);\r\n\r\n for (var i = 0; i < length; i++) {\r\n var currentOption = options[Math.floor(Math.random() * options.length)];\r\n var randomChar = currentOption.charAt(Math.floor(Math.random() * currentOption.length));\r\n password += randomChar;\r\n passwordArray.push(randomChar);\r\n }\r\n\r\n return password;\r\n }\r\n\r\n\r\n render() {\r\n var pwd = this.generatePassword();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport CloudDownload from '@material-ui/icons/CloudDownload';\r\n\r\nexport default class CertDownloadButton extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { loading: false };\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n handleClick() {\r\n const token = localStorage.getItem('access_token');\r\n const request = new Request(window.location.origin + \"/certfiles\", {\r\n method: 'POST',\r\n body: JSON.stringify({ org_id: this.props.record.id }),\r\n headers: new Headers({\r\n 'Accept': '*/*',\r\n 'Content-type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n }),\r\n })\r\n\r\n return fetch(request)\r\n .then(response => {\r\n if (response.status == 200) {\r\n return response.blob()\r\n }\r\n throw 'ダウンロード失敗';\r\n }) //blobで読み込む\r\n .then(blob => {\r\n //DOMでダウンロードファイルを添付したアンカー要素を生成\r\n let anchor = document.createElement(\"a\");\r\n anchor.download = 'mcoa_' + this.props.record.id + '.pem'\r\n if (process.env.REACT_APP_ENV != 'production') {\r\n anchor.download = process.env.REACT_APP_ENV + '_' + anchor.download;\r\n }\r\n anchor.href = window.URL.createObjectURL(blob);\r\n //アンカーを発火\r\n anchor.click();\r\n })\r\n .catch(function (err) {\r\n console.log(\"err=\" + err);\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n 証明書の取得\r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport { Edit, SimpleForm, TextInput, CheckboxGroupInput, required, maxLength, regex, email, Toolbar, SaveButton } from 'react-admin';\r\nimport RichTextInput from 'ra-input-rich-text';\r\nimport CertDownloadButton from './CertDownloadButton';\r\n\r\nconst validatPhoneNumber = [maxLength(15), regex(/^[0-9]+$/, 'validationErrors.phoneNumber')]; // 数字および+のみ\r\nconst validatOtherRoles = regex(/^[a-z,]+$/, 'validationErrors.user.otherRoles'); // 英小文字のみ\r\n\r\nconst PostEditToolbar = props => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default class McAccountEdit extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport { Datagrid, TextField, BooleanField, TextInput, EditButton, ShowButton, Filter, List } from 'react-admin';\r\n\r\nconst GtfsfeedFilter = (props) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default class GtfsfeedList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n \r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n } perPage={25} >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { SimpleForm, Create, TextInput, BooleanInput, required, maxLength, minLength, email, regex } from 'react-admin';\r\n\r\nexport default class GtfsfeedCreate extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport { Edit, SimpleForm, TextInput, BooleanInput, required, maxLength, minLength, email, regex } from 'react-admin';\r\n\r\nexport default class GtfsfeedEdit extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport { Show, SimpleShowLayout, Datagrid, TextField, DateField, BooleanField, ReferenceManyField } from 'react-admin';\r\n\r\nexport default class GtfsfeedShow extends React.Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n \r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n var gtfsfeedsVersionsUri = `mobustation://gtfsfeeds/${this.props.match.params.id}/versions`;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n/* バージョン履歴 うまくいかない\r\n \r\n \r\n \r\n \r\n \r\n \r\n*/","import React from 'react';\r\nimport { Datagrid, TextField, SingleFieldList, EditButton, Filter, List, TextInput, ArrayField, ChipField } from 'react-admin';\r\nimport classnames from 'classnames';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst OrgOwnerFilter = (props) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst useStyles = makeStyles({\r\n owner: { backgroundColor: '#74fd74' },\r\n});\r\n\r\nconst ColoredChipField = props => {\r\n const classes = useStyles();\r\n\r\n const isOwner = roles => (roles.indexOf(\"org-owner\")) >= 0;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default class OrgOwnerList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n \r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n } perPage={25} bulkActionButtons={false}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Create, TextField, ArrayInput, SimpleFormIterator, SimpleForm, TextInput, CheckboxGroupInput, required, maxLength, minLength, email, regex } from 'react-admin';\r\n\r\nconst validatAccountId = [required(), maxLength(25), regex(/^[a-z0-9@._-]+$/, 'validationErrors.orgOwner.id')]; // 英数字およびアットマーク、ドット、ハイフン、アンダースコアのみ\r\nconst validatOrgId = [required(), maxLength(25), regex(/^[a-zA-Z0-9_-]+$/, 'validationErrors.user.id')]; // 英数字およびハイフン、アンダースコアのみ\r\nconst validatPassword = [required(), maxLength(100), minLength(8), regex(/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\\d)[^\\\\]{8,100}$/i, 'validationErrors.password')]; // [\\]記号は除く\r\n\r\nexport default class OrgOwnerCreate extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n generatePassword() {\r\n var alpha = \"abcdefghkmnpqrstuvwxyz\"; // [ i, j, l, o ] (アイ, ジェイ, エル, オー)は除外\r\n var caps = \"ABCDEFGHJKLMNPQRSTUVWXYZ\"; // [ I, O ] (アイ, オー)は除外\r\n var numeric = \"23456789\"; // [ 0, 1 ] は除外\r\n var special = \"$^&*-=+_?\"; // [!] は除外\r\n\r\n var options = [alpha, caps, numeric, special];\r\n\r\n var password = \"\";\r\n\r\n // 英小文字を1文字入れる\r\n options = [alpha];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // 英大文字を1文字入れる\r\n options = [caps];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // 数字を1文字入れる\r\n options = [numeric];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n //// 特殊を1文字入れる\r\n //options = [special];\r\n //password += this.generatePasswordWithOptions(1, options)\r\n\r\n // あとはランダム\r\n options = [alpha, caps, numeric];\r\n password += this.generatePasswordWithOptions(5, options)\r\n\r\n return password;\r\n }\r\n\r\n generatePasswordWithOptions(length, options) {\r\n var password = \"\";\r\n var passwordArray = Array(length);\r\n\r\n for (var i = 0; i < length; i++) {\r\n var currentOption = options[Math.floor(Math.random() * options.length)];\r\n var randomChar = currentOption.charAt(Math.floor(Math.random() * currentOption.length));\r\n password += randomChar;\r\n passwordArray.push(randomChar);\r\n }\r\n\r\n return password;\r\n }\r\n\r\n\r\n render() {\r\n var pwd = this.generatePassword();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport { Button, Dialog, TextField, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@material-ui/core';\r\nimport SyncIcon from '@material-ui/icons/Sync';\r\n\r\nexport default class TempPassButton extends React.Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = { open: false, password: \"\", message: '', validation: true };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n generatePassword() {\r\n var alpha = \"abcdefghkmnpqrstuvwxyz\"; // [ i, j, l, o ] (アイ, ジェイ, エル, オー)は除外\r\n var caps = \"ABCDEFGHJKLMNPQRSTUVWXYZ\"; // [ I, O ] (アイ, オー)は除外\r\n var numeric = \"23456789\"; // [ 0, 1 ] は除外\r\n\r\n var options = [alpha, caps, numeric];\r\n\r\n var password = \"\";\r\n\r\n // 英小文字を1文字入れる\r\n options = [alpha];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // 英大文字を1文字入れる\r\n options = [caps];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // 数字を1文字入れる\r\n options = [numeric];\r\n password += this.generatePasswordWithOptions(1, options)\r\n\r\n // あとはランダム\r\n options = [alpha, caps, numeric];\r\n password += this.generatePasswordWithOptions(5, options)\r\n\r\n this.setState({ open: true });\r\n this.setState({ password: password });\r\n\r\n return password;\r\n };\r\n\r\n generatePasswordWithOptions(length, options) {\r\n var password = \"\";\r\n var passwordArray = Array(length);\r\n\r\n for (var i = 0; i < length; i++) {\r\n var currentOption = options[Math.floor(Math.random() * options.length)];\r\n var randomChar = currentOption.charAt(Math.floor(Math.random() * currentOption.length));\r\n password += randomChar;\r\n passwordArray.push(randomChar);\r\n }\r\n\r\n return password;\r\n };\r\n\r\n handleClick() {\r\n this.setState({ open: false });\r\n const token = localStorage.getItem('token');\r\n const pass = this.state.password;\r\n const request = new Request(window.location.origin + \"/orgowners/TempPassword\", {\r\n method: 'PUT',\r\n body: JSON.stringify({ userId: this.props.record.id, tempPassword: pass }),\r\n headers: new Headers({\r\n 'Accept': '*/*',\r\n 'Content-type': 'application/json',\r\n 'Authorization': token\r\n }),\r\n })\r\n\r\n return fetch(request)\r\n .then(response => {\r\n if (response.status == 200) {\r\n alert(\"一時パスワードを再発行しました\");\r\n return;\r\n }\r\n throw '発行失敗';\r\n }).catch(function (err) {\r\n console.log(\"err=\" + err);\r\n });\r\n\r\n \r\n };\r\n\r\n handleChange = (event) => {\r\n const passvalue = event.target.value;\r\n\r\n this.validation(passvalue);\r\n this.setState({ password: event.target.value });\r\n };\r\n\r\n validation(value) {\r\n const regex = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\\d)/;\r\n if (!value) {\r\n this.setState({ message: '入力必須項目です', validation: false });\r\n return;\r\n }\r\n if (value.length < 8) {\r\n this.setState({ message: '8文字以上記入してください', validation: false });\r\n return;\r\n }\r\n if (value.length > 100) {\r\n this.setState({ message: '100文字以内で記入してください', validation: false });\r\n return;\r\n }\r\n if (!regex.test(value)) {\r\n this.setState({ message: '少なくとも英大文字、英小文字、数字をそれぞれ1文字以上使用する必要があります。', validation: false });\r\n return;\r\n }\r\n this.setState({ message: '', validation: true });\r\n return;\r\n }\r\n\r\n handleClose() {\r\n this.setState({ open: false, message: '', validation: true });\r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n this.handleClose() }>\r\n 一時パスワードの再発行\r\n \r\n \r\n 下記で一時パスワードを再発行しますか?\r\n \r\n

{this.state.message}

\r\n this.handleChange(event)}\r\n validate={this.validatPassword}\r\n fullWidth />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}","import React from 'react';\r\nimport { Edit, SimpleForm, TextInput, ArrayInput, CheckboxGroupInput, SimpleFormIterator, required, maxLength, regex, email, Toolbar, SaveButton } from 'react-admin';\r\nimport TempPassButton from './TempPassword';\r\n\r\nconst validatOrgId = [required(), maxLength(25), regex(/^[a-zA-Z0-9_-]+$/, 'validationErrors.user.id')]; // 英数字およびハイフン、アンダースコアのみ\r\n\r\nconst PostEditToolbar = props => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default class McAccountEdit extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n","import React from 'react';\r\nimport { Admin, Resource, fetchUtils } from 'react-admin';\r\nimport jsonServerProvider from 'ra-data-json-server';\r\nimport simpleRestProvider from 'ra-data-simple-rest';\r\nimport authProvider from './authProvider';\r\nimport i18nProvider from './i18n/i18nProvider';\r\n\r\nimport McAccountList from './components/mcaccount/McAccountList';\r\nimport McAccountCreate from './components/mcaccount/McAccountCreate';\r\nimport McAccountEdit from './components/mcaccount/McAccountEdit';\r\nimport GtfsfeedList from './components/GtfsfeedList';\r\nimport GtfsfeedCreate from './components/GtfsfeedCreate';\r\nimport GtfsfeedEdit from './components/GtfsfeedEdit';\r\nimport GtfsfeedShow from './components/GtfsfeedShow';\r\nimport OrgOwnerList from './components/OrgOwnerList';\r\nimport OrgOwnerCreate from './components/OrgOwnerCreate';\r\nimport OrgOwnerEdit from './components/OrgOwnerEdit';\r\n\r\nimport PeopleIcon from '@material-ui/icons/People';\r\nimport GroupIcon from '@material-ui/icons/GroupWork';\r\nimport InsertDriveFileIcon from '@material-ui/icons/InsertDriveFile';\r\n\r\nconst httpClientDefault = (url, options = {}) => {\r\n if (!options.headers) {\r\n options.headers = new Headers({ Accept: 'application/json' });\r\n }\r\n\r\n return fetchUtils.fetchJson(url, options);\r\n}\r\n\r\nconst httpClientMcAccount = (url, options = {}) => {\r\n if (!options.headers) {\r\n options.headers = new Headers({ Accept: 'application/json' });\r\n }\r\n const token = localStorage.getItem('token');\r\n options.headers.set('Authorization', `${token}`);\r\n\r\n return fetchUtils.fetchJson(url, options);\r\n}\r\n\r\nconst httpClientMobustation = (url, options = {}) => {\r\n if (!options.headers) {\r\n options.headers = new Headers({ Accept: 'application/json' });\r\n }\r\n const token = localStorage.getItem('token');\r\n options.headers.set('Authorization', `${token}`);\r\n\r\n return fetchUtils.fetchJson(url, options);\r\n}\r\n\r\nconst dataProvider = (type, resource, params) => {\r\n var provider;\r\n\r\n switch (resource) {\r\n case 'mcaccount://users':\r\n resource = \"users\";\r\n provider = simpleRestProvider(window.location.origin, httpClientMcAccount);\r\n break;\r\n case 'mcaccount://orgowners':\r\n resource = \"orgowners\";\r\n provider = simpleRestProvider(window.location.origin, httpClientMcAccount);\r\n break;\r\n case 'mobustation://gtfsfeeds':\r\n resource = \"gtfsfeeds\";\r\n provider = jsonServerProvider(process.env.REACT_APP_MOBUSTATION_API, httpClientMobustation);\r\n break;\r\n default:\r\n provider = simpleRestProvider(window.location.origin, httpClientDefault);\r\n break;\r\n }\r\n\r\n switch (type) {\r\n case 'GET_LIST':\r\n return provider.getList(resource, params);\r\n case 'GET_ONE':\r\n return provider.getOne(resource, params);\r\n case 'GET_MANY':\r\n return provider.getMany(resource, params);\r\n case 'GET_MANY_REFERENE':\r\n return provider.getManyReference(resource, params);\r\n case 'CREATE':\r\n return provider.create(resource, params);\r\n case 'UPDATE':\r\n return provider.update(resource, params);\r\n case 'UPDATE_MANY':\r\n return provider.updateMany(resource, params);\r\n case 'DELETE':\r\n return provider.delete(resource, params);\r\n case 'DELETE_MANY':\r\n return provider.deleteMany(resource, params);\r\n }\r\n}\r\n\r\nconst App = () => (\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n);\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport UserService from \"./services/userService\";\r\n\r\nconst renderApp = () => ReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n\r\nUserService.initKeycloak(renderApp);\r\n"],"sourceRoot":""}