You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.2KB

  1. import { HOST_API } from "config";
  2. import { ApiId as A } from ".";
  3. const urls = {
  4. // 共通---------------------------------------
  5. [A.CSRF_TOKEN]: "sanctum/csrf-cookie",
  6. // 認証関連 ----------------------------------
  7. [A.ME]: "me",
  8. [A.LOGIN]: "login",
  9. [A.LOGOUT]: "logout",
  10. [A.顧客成り代わり開始]: "role/switch/customer",
  11. [A.店舗成り代わり開始]: "role/switch/shop",
  12. [A.成り代わり終了]: "role/switch/end",
  13. // ログインユーザ関連 ----------------------------------
  14. [A.顧客ログインユーザ新規登録]: "login-user/customer/register",
  15. [A.店舗ログインユーザ新規登録]: "login-user/shop/register",
  16. [A.顧客ログインユーザ一覧取得]: "login-user/customer/list",
  17. [A.店舗ログインユーザ一覧取得]: "login-user/shop/list",
  18. // 顧客関連 ----------------------------------
  19. [A.顧客マスタ一覧取得]: "customer/list",
  20. // 駐車場関連 ----------------------------------
  21. [A.駐車場マスタ一覧取得]: "parking/list",
  22. // 店舗関連関連 ----------------------------------
  23. [A.店舗一覧取得]: "shop/list",
  24. [A.店舗新規登録]: "shop/register",
  25. [A.デポジット情報取得]: "shop/deposit",
  26. [A.デポジットチャージ]: "shop/deposit/charge",
  27. [A.店舗設定]: "shop/config",
  28. // QRサービス券関連-------------------------------
  29. [A.QRサービス券駐車場グループ一覧取得]: "qr-service/parking-group/list",
  30. [A.QRサービス券駐車場グループ新規登録]: "qr-service/parking-group/register",
  31. [A.QRサービス券駐車場グループ駐車場追加登録]:
  32. "qr-service/parking-group/parking/add",
  33. [A.QRサービス券駐車場グループ駐車場削除登録]:
  34. "qr-service/parking-group/parking/remove",
  35. [A.QRサービス券取得]: "qr-service/get-ticket",
  36. };
  37. const prefixs = {
  38. [A.CSRF_TOKEN]: "",
  39. };
  40. const DEFAULT_API_URL_PREFIX = "api";
  41. const getPrefix = (apiId: A) => {
  42. return prefixs[apiId] ?? DEFAULT_API_URL_PREFIX;
  43. };
  44. export const getUrl = (apiId: A) => {
  45. let url = getPrefix(apiId);
  46. if (url.length !== 0) {
  47. url += "/";
  48. }
  49. return url + (urls[apiId] ?? "");
  50. };
  51. export const getFullUrl = (apiId: A) => {
  52. return HOST_API + "/" + getUrl(apiId);
  53. };