diff --git a/components/Button.tsx b/components/Button.tsx index ca0cc77..b62db3e 100644 --- a/components/Button.tsx +++ b/components/Button.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { MouseEventHandler } from "react"; export interface ButtonProps { diff --git a/components/Category.tsx b/components/Category.tsx index c544ed4..c8cd6fa 100644 --- a/components/Category.tsx +++ b/components/Category.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { memo } from "react"; export interface CategoryProps { diff --git a/components/EmojiPicker.tsx b/components/EmojiPicker.tsx index 5f3b035..080d089 100644 --- a/components/EmojiPicker.tsx +++ b/components/EmojiPicker.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import dynamic from "next/dynamic"; import React from "react"; import { useField } from "formik"; diff --git a/components/Input.tsx b/components/Input.tsx index cc0b31c..e44fd1c 100644 --- a/components/Input.tsx +++ b/components/Input.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Fragment } from "react"; import { FieldInputProps } from "formik"; import { classNames, fieldHasError } from "utils"; diff --git a/components/LargeNumberCard.tsx b/components/LargeNumberCard.tsx index 8823ceb..10a4786 100644 --- a/components/LargeNumberCard.tsx +++ b/components/LargeNumberCard.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from "react"; const LargeNumberCard: React.FC = () => { diff --git a/components/Loading.tsx b/components/Loading.tsx index cd83035..3eb0750 100644 --- a/components/Loading.tsx +++ b/components/Loading.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from "react"; export interface LoadingProps { diff --git a/components/MobileNavbar.tsx b/components/MobileNavbar.tsx index c1332aa..53a9188 100644 --- a/components/MobileNavbar.tsx +++ b/components/MobileNavbar.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { Fragment, useState } from "react"; import Link from "next/link"; import { useRouter } from "next/router"; diff --git a/components/Protected.tsx b/components/Protected.tsx index 11d064f..8b3e7a3 100644 --- a/components/Protected.tsx +++ b/components/Protected.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from "react"; import { useSession } from "next-auth/react"; import { useRouter } from "next/router"; diff --git a/components/RadioButton.tsx b/components/RadioButton.tsx index 61eb00c..52b840e 100644 --- a/components/RadioButton.tsx +++ b/components/RadioButton.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from "react"; const RadioButton = () => { diff --git a/components/RecentTransactions.tsx b/components/RecentTransactions.tsx index ed29943..ac9129a 100644 --- a/components/RecentTransactions.tsx +++ b/components/RecentTransactions.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { Fragment } from "react"; import Link from "next/link"; import { useIntl } from "react-intl"; diff --git a/components/SmallNumberCard.tsx b/components/SmallNumberCard.tsx index 20434ea..079a847 100644 --- a/components/SmallNumberCard.tsx +++ b/components/SmallNumberCard.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from "react"; import { useIntl } from "react-intl"; import classNames from "classnames"; diff --git a/components/Textarea.tsx b/components/Textarea.tsx index 54459b9..e409103 100644 --- a/components/Textarea.tsx +++ b/components/Textarea.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { FieldInputProps } from "formik"; import { classNames } from "../utils"; diff --git a/components/Transaction.tsx b/components/Transaction.tsx index 69960e7..30499a4 100644 --- a/components/Transaction.tsx +++ b/components/Transaction.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from "react"; import { useIntl } from "react-intl"; import { DateTime } from "luxon"; diff --git a/constants/queries.ts b/constants/queries.ts index aa62b7a..704b58e 100644 --- a/constants/queries.ts +++ b/constants/queries.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { gql } from "@apollo/client"; export const GET_CATEGORIES = gql` diff --git a/contexts/User.tsx b/contexts/User.tsx index fdd55e8..349e4bd 100644 --- a/contexts/User.tsx +++ b/contexts/User.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from "react"; export type User = { id: string }; diff --git a/forms/AccountDetails.tsx b/forms/AccountDetails.tsx index d728d05..d94fce9 100644 --- a/forms/AccountDetails.tsx +++ b/forms/AccountDetails.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Formik, Form, Field } from "formik"; import { useIntl } from "react-intl"; import * as Yup from "yup"; diff --git a/forms/CategoryForm.tsx b/forms/CategoryForm.tsx index f6d7941..f8b5cb2 100644 --- a/forms/CategoryForm.tsx +++ b/forms/CategoryForm.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Formik, Form, Field } from "formik"; import { useIntl } from "react-intl"; import * as Yup from "yup"; diff --git a/forms/TransactionForm.tsx b/forms/TransactionForm.tsx index 683f519..0873851 100644 --- a/forms/TransactionForm.tsx +++ b/forms/TransactionForm.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Formik, Form, Field } from "formik"; import { useIntl } from "react-intl"; import { toast } from "react-hot-toast"; diff --git a/jest.config.js b/jest.config.js index a737e9f..ca82709 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // TODO: Setup integration with next so we can do snapshot testing /* diff --git a/jest.setup.js b/jest.setup.js index 0cc243b..34dd779 100644 --- a/jest.setup.js +++ b/jest.setup.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // Optional: configure or set up a testing framework before each test. // If you delete this file, remove `setupFilesAfterEnv` from `jest.config.js` diff --git a/lib/apolloClient.js b/lib/apolloClient.js index abcd424..93f81a6 100644 --- a/lib/apolloClient.js +++ b/lib/apolloClient.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { useMemo } from "react"; import { ApolloClient, HttpLink, InMemoryCache, from } from "@apollo/client"; import { setContext } from "@apollo/client/link/context"; diff --git a/lib/cookie.js b/lib/cookie.js index bb29a0a..8b8e6e8 100644 --- a/lib/cookie.js +++ b/lib/cookie.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export const parseCookie = (str) => str .split(";") diff --git a/next-env.d.ts b/next-env.d.ts index 9bc3dd4..3c20b0e 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /// /// /// diff --git a/next.config.js b/next.config.js index 1b1bfa6..08a8de5 100644 --- a/next.config.js +++ b/next.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** @type {import('next').NextConfig} */ const { withSentryConfig } = require("@sentry/nextjs"); diff --git a/package.json b/package.json index 4047bf5..c0fb795 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "test:ci": "jest --ci", "i18n:extract": "formatjs extract 'pages/**/*.ts*' 'components/**/*.ts*' --out-file lang/en.json", "i18n:compile": "formatjs compile-folder lang compiled-lang", - "cdk": "cdk" + "cdk": "cdk", + "addlicense": "addlicense -c 'Synchronous Technologies Pte Ltd' -l apache -ignore 'node_modules/**' -ignore '.next/**' -ignore 'compiled-lang/**' -ignore 'lang/**' ." }, "dependencies": { "@apollo/client": "^3.5.10", diff --git a/pages/404.tsx b/pages/404.tsx index a12bf44..23bab1c 100644 --- a/pages/404.tsx +++ b/pages/404.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage } from "next"; import { useIntl } from "react-intl"; import Link from "next/link"; diff --git a/pages/_app.tsx b/pages/_app.tsx index ee7973f..4fd265a 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import "styles/global.scss"; import type { AppProps } from "next/app"; import React from "react"; diff --git a/pages/_document.tsx b/pages/_document.tsx index 454c57e..4cb47fc 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import Document, { Html, Head, diff --git a/pages/_error.jsx b/pages/_error.jsx index c5f1f96..fa11b85 100644 --- a/pages/_error.jsx +++ b/pages/_error.jsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import NextErrorComponent from "next/error"; import * as Sentry from "@sentry/nextjs"; diff --git a/pages/account/categories.tsx b/pages/account/categories.tsx index 4c3bf8b..e4a0bc9 100644 --- a/pages/account/categories.tsx +++ b/pages/account/categories.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage } from "next"; import { useState } from "react"; import { useIntl } from "react-intl"; diff --git a/pages/account/index.tsx b/pages/account/index.tsx index d9992df..fa97d6f 100644 --- a/pages/account/index.tsx +++ b/pages/account/index.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* eslint-disable @next/next/no-img-element */ import type { NextPage } from "next"; import { useSession } from "next-auth/react"; diff --git a/pages/account/settings.tsx b/pages/account/settings.tsx index 4e63cc3..42b63e2 100644 --- a/pages/account/settings.tsx +++ b/pages/account/settings.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage } from "next"; import { useIntl } from "react-intl"; import Link from "next/link"; diff --git a/pages/analytics.tsx b/pages/analytics.tsx index 772b042..4c52eeb 100644 --- a/pages/analytics.tsx +++ b/pages/analytics.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage } from "next"; import { useIntl } from "react-intl"; import { useQuery, gql } from "@apollo/client"; diff --git a/pages/api/auth/[...nextauth].ts b/pages/api/auth/[...nextauth].ts index f231792..428f20b 100644 --- a/pages/api/auth/[...nextauth].ts +++ b/pages/api/auth/[...nextauth].ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import NextAuth from "next-auth"; import * as jwt from "jsonwebtoken"; import { gql, ApolloClient, InMemoryCache } from "@apollo/client"; diff --git a/pages/api/auth/token.ts b/pages/api/auth/token.ts index e32f266..d1e258b 100644 --- a/pages/api/auth/token.ts +++ b/pages/api/auth/token.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextApiRequest, NextApiResponse } from "next"; import { parseCookie } from "lib/cookie"; diff --git a/pages/api/hello.ts b/pages/api/hello.ts index f8bcc7e..21c980d 100644 --- a/pages/api/hello.ts +++ b/pages/api/hello.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // Next.js API route support: https://nextjs.org/docs/api-routes/introduction import type { NextApiRequest, NextApiResponse } from 'next' diff --git a/pages/index.tsx b/pages/index.tsx index e6cd0cc..b247ad9 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage } from "next"; import { useIntl } from "react-intl"; import { useQuery } from "@apollo/client"; diff --git a/pages/signin.tsx b/pages/signin.tsx index f10a126..090430e 100644 --- a/pages/signin.tsx +++ b/pages/signin.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage, GetServerSidePropsContext } from "next"; import Image from "next/image"; import { signIn, getSession } from "next-auth/react"; diff --git a/pages/terms-and-conditions.tsx b/pages/terms-and-conditions.tsx index 9bdad5d..13fe4cc 100644 --- a/pages/terms-and-conditions.tsx +++ b/pages/terms-and-conditions.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage } from "next"; const TermsAndConditions: NextPage = () => { diff --git a/pages/transactions.tsx b/pages/transactions.tsx index 302afeb..fa6da53 100644 --- a/pages/transactions.tsx +++ b/pages/transactions.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextPage } from "next"; import { Fragment } from "react"; import { useIntl } from "react-intl"; diff --git a/postcss.config.js b/postcss.config.js index 33ad091..cfa96c4 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { plugins: { tailwindcss: {}, diff --git a/sentry.client.config.js b/sentry.client.config.js index d2c2d3e..bc9d1ba 100644 --- a/sentry.client.config.js +++ b/sentry.client.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // This file configures the initialization of Sentry on the browser. // The config you add here will be used whenever a page is visited. // https://docs.sentry.io/platforms/javascript/guides/nextjs/ diff --git a/sentry.server.config.js b/sentry.server.config.js index 5ebdd53..60732ef 100644 --- a/sentry.server.config.js +++ b/sentry.server.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // This file configures the initialization of Sentry on the server. // The config you add here will be used whenever the server handles a request. // https://docs.sentry.io/platforms/javascript/guides/nextjs/ diff --git a/server/Dockerfile b/server/Dockerfile index b42b517..cc38df0 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -1,3 +1,17 @@ +# Copyright 2022 Synchronous Technologies Pte Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM python:3.10-slim ENV APP_PATH=/usr/src/app diff --git a/server/get_zefdb.sh b/server/get_zefdb.sh old mode 100644 new mode 100755 index 96be9d6..31cd1e2 --- a/server/get_zefdb.sh +++ b/server/get_zefdb.sh @@ -1,4 +1,18 @@ #!/bin/bash +# Copyright 2022 Synchronous Technologies Pte Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Black magic to extract access token and then get asset id from github # Steps: diff --git a/styles/global.scss b/styles/global.scss index 63990e8..d7b3637 100644 --- a/styles/global.scss +++ b/styles/global.scss @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + @tailwind base; @tailwind components; @tailwind utilities; diff --git a/tailwind.config.js b/tailwind.config.js index 0044b11..c4e682d 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { content: [ "./pages/**/*.{js,ts,jsx,tsx}", diff --git a/types.d.ts b/types.d.ts index e69de29..8b06c93 100644 --- a/types.d.ts +++ b/types.d.ts @@ -0,0 +1,16 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + diff --git a/utils.ts b/utils.ts index 01218e0..d386c7a 100644 --- a/utils.ts +++ b/utils.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export const classNames = (...classes: any[]): string => { return classes.filter(Boolean).join(" "); }; diff --git a/utils/currency.test.ts b/utils/currency.test.ts index c579e71..5c99ae1 100644 --- a/utils/currency.test.ts +++ b/utils/currency.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { parseCurrency } from "./currency"; test("parseCurrency", () => { diff --git a/utils/currency.ts b/utils/currency.ts index 7537caa..7d31edf 100644 --- a/utils/currency.ts +++ b/utils/currency.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export const parseCurrency = (value: number): number => { if (isNaN(value)) { return 0; diff --git a/utils/loadIntlMessages.ts b/utils/loadIntlMessages.ts index e6040be..83d541e 100644 --- a/utils/loadIntlMessages.ts +++ b/utils/loadIntlMessages.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2022 Synchronous Technologies Pte Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import fs from "fs/promises"; import path from "path";