Git Product home page Git Product logo

banking's Introduction

JS Mastery Pro

banking's People

Contributors

adrianhajdin avatar sujatagunale avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

banking's Issues

Issue with the sign up page

I am facing issues while signing up, the error is showing " Invalid document structure"
code: 400,
type: 'document_invalid_structure',
response: {
message: 'Invalid document structure: Attribute "userId" has invalid type. Value must be a valid string and no longer than 2000 chars',
code: 400,
type: 'document_invalid_structure',
version: '1.5.9'
}

In appwrite, i have made the attribute of userId 2000 chars still this issue exists.

Validation error sign up

I keep getting this error when I try to sign up
status: 400,
headers: Headers {
[Symbol(map)]: [Object: null prototype] {
date: [Array],
'content-type': [Array],
'content-length': [Array],
connection: [Array],
'access-control-allow-origin': [Array],
'x-request-id': [Array],
'cf-cache-status': [Array],
'set-cookie': [Array],
server: [Array],
'cf-ray': [Array]
}
},
body: {
code: 'ValidationError',
message: 'Validation error(s) present. See embedded errors list for more details.',
_embedded: { errors: [Array] }
}
}
Error Error: Error creating Dwolla customer

This is my code: https://github.com/boxlem/banking.git

Validation error sign up

I keep getting this error when i try to sign up.

status: 400,
headers: Headers {
[Symbol(map)]: [Object: null prototype] {
date: [Array],
'content-type': [Array],
'content-length': [Array],
connection: [Array],
'access-control-allow-origin': [Array],
'x-request-id': [Array],
'cf-cache-status': [Array],
'set-cookie': [Array],
server: [Array],
'cf-ray': [Array]
}
},
body: {
code: 'ValidationError',
message: 'Validation error(s) present. See embedded errors list for more details.',
_embedded: { errors: [Array] }
}
}

i got this error in signup -->

Warning: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.
{account: {client: ...}, database: ..., user: ...}
^^^^^^^^^^^^^
POST /sign-up 200 in 30ms
⨯ Error: Only plain objects, and a few built-ins, can be passed to Client Components from Server Components. Classes or null prototypes are not supported.
at stringify ()
digest: "3170067014"

i thing the issue is with
const { account,database } = await createAdminClient();

Problem with Sign-In after log out

Hi,
I followed the steps on your YouTube channel until the timestamp 03:23:27. After sign-up a user and log-out. When I tried to sign in using the same registered email, which had been signed. The page does not change to the main page i.e., the page remains at the sign-in page. When I looked at the VS Code terminal the status was 200 Sign-in. Could you please advise on which part I need to amend the code?

Thank you.

transaction list

I am not getting the list of sample transactions ?
Do any one facing the same issue ?

Duplicate Property value in type Transaction Types index.d.ts

declare type Transaction = { id: string; $id: string; name: string; paymentChannel: string; type: string; accountId: string; amount: number; pending: boolean; category: string; date: string; image: string; type: string; $createdAt: string; channel: string; senderBankId: string; receiverBankId: string; };
here the type is written duplicate two times if you
Screenshot 2024-08-12 185046
can assign me this issue I can work on this and remove simply one and make a pull request

RightSideBar issue

Every time i add the right side bar i either gate cannot find properties of 'name' or 'email', whatever name I add after user. If i delete RighSideBar from loading then it works.

Unauthorized Scope

How can i fix this issue? it happens when i try to sign up.

code: 401,
type: 'general_unauthorized_scope',
response: {
message: 'User (role: guests) missing scope (account)',
code: 401,
type: 'general_unauthorized_scope',
version: '1.5.7'
}

Responsive design issuew

Hey, the design is working fine on my monitor screen but when i open it in my laptop screen it treat it as a small or idk what all the feature like right side bar and left side bar are not visible even tho i am following along with the video as well as the github can anyone help me to diagnose this issue?/

error:400 undefined is not iterable (cannot read property Symbol(Symbol.iterator))

AppwriteException: Invalid query: Query value is invalid for attribute "userId"
at _Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/client.mjs:283:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/services/databases.mjs:1581:12)
at async $$ACTION_6 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:256:23)
at async $$ACTION_0 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:30:23)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:39:22) {
code: 400,
type: 'general_query_invalid',
response: {
message: 'Invalid query: Query value is invalid for attribute "userId"',
code: 400,
type: 'general_query_invalid',
version: '1.5.10'
}
}
An error occurred while getting the accounts: TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
at Function.all ()
at $$ACTION_0 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:33:40)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:39:22)

You're importing a component that needs usePathname. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.

UsePathname in Sidebar component is throwing this error;

Error:
× You're importing a component that needs usePathname. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.
│ Learn more: https://nextjs.org/docs/getting-started/react-essentials


╭─[/Users/mriccelli75/Sites/jsm_banking/components/Sidebar.tsx:4:1]
4 │ import Link from 'next/link'
5 │ import Image from 'next/image'
6 │ import { sidebarLinks } from '@/constants'
7 │ import { usePathname } from 'next/navigation'
· ───────────
8 │
9 │
10 │ const Sidebar = ({user}: SiderbarProps) => {
╰────

Error 400: 'Invalid query: Query value is invalid for attribute "$id"'

Error below. This comes after trying to add bank account(s). The Plaid interface succeeds, but there's no document written to the banks collection.

Feels like I'm missing a relationship or an attribute somewhere. Is there a set of screenshots for all the Appwrite collections and attributes? I can't find my error in the video.

An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'accessToken')
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:82:32)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:43:21)
GET /?_rsc=3rnhc 200 in 1794ms
POST / 200 in 89ms
AppwriteException [Error]: Invalid query: Query value is invalid for attribute "$id"
at Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/client.js:206:15)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/services/databases.js:1658:16)
at async $$ACTION_8 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:244:22)
at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:77:22)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:43:21) {
code: 400,
type: 'general_query_invalid',
response: {
message: 'Invalid query: Query value is invalid for attribute "$id"',
code: 400,
type: 'general_query_invalid',
version: '1.5.7'
}
}

I follow the video teaching I've got all the permissions. There's no problem logging in, registering

export async function getLoggedInUser() {
try {
const { account } = await createSessionClient();
const user = await account.get();
return parseStringify(user);

} catch (error) {
console.error("Error fetching logged-in user:", error);
return null;
}
}
Error fetching logged-in user: AppwriteException [Error]: User (role: guests) missing scope (account)
at Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/client.js:206:15)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Account.get (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/services/account.js:31:16)
at async getLoggedInUser (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:57:22)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:22) {
code: 401,
type: 'general_unauthorized_scope',
response: {
message: 'User (role: guests) missing scope (account)',
code: 401,
type: 'general_unauthorized_scope',
version: '1.5.10'
}
}

{user.name[0]} described as a null value

in the footer section when i compile and run there is an error in the terminal under the name for {user.name[0]} and says cannot read properties of null 'name' even though the file doesn't seem to be screaming over any errors. Eventually the if statement loggedOut for router.push; export const Footer = ({ user, type = 'desktop' }: FooterProps) => {
const router = useRouter();
const handleLogOut = async () => {
const loggedOut = await logoutAccount();

if(loggedOut) router.push('/sign-in')

}
the loggedOut is flaring and says an expression of type void cannot be tested for truthiness(if that's even a correct statement).

TRANSACTIONS_SYNC_LIMIT error from plaidClient.transactionsSync

When trying to sync the transactions from plaid's sandbox environment, getting the following error, preventing the list of transactions from displaying:

error_code: 'TRANSACTIONS_SYNC_LIMIT',
error_message: 'rate limit exceeded for attempts to access "transactions/sync". please try again later',
error_type: 'RATE_LIMIT_EXCEEDED',

Undefined token

Anyone else getting this error?

An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'accessToken')
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:83:32)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:42:21)
{ accountsData: [], account: undefined }
GET / 200 in 2395ms

login error

when i login in existing account i can't be able to see the infoWhen I log in to my existing account, I am unable to see the information about other users.rmations about users

this error I face:
An error occurred while getting the accounts: AxiosError: Request failed with status code 400
at settle (webpack-internal:///(rsc)/./node_modules/axios/dist/node/axios.cjs:1966:12)
at Unzip.handleStreamEnd (webpack-internal:///(rsc)/./node_modules/axios/dist/node/axios.cjs:3065:11)
at Unzip.emit (node:events:530:35)
at Unzip.emit (node:domain:488:12)
at endReadableNT (node:internal/streams/readable:1696:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
at Axios.request (webpack-internal:///(rsc)/./node_modules/axios/dist/node/axios.cjs:3876:41)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async eval (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:36:38)
at async Promise.all (index 0)
at async $$ACTION_0 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:34:26)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:37:22) {
code: 'ERR_BAD_REQUEST',
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: [class Blob] },
validateStatus: [Function: validateStatus],
headers: Object [AxiosHeaders] {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'Plaid Node v23.0.0',
'Plaid-Version': '2020-09-14',
'PLAID-CLIENT-ID': '66350e387172e7001b6195fa',
'PLAID-SECRET': 'b500b62c4af12da276246a44c5b5d9',
'Content-Length': '70',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
method: 'post',
data: '{"access_token":"access-sandbox-8a0989f2-ae55-48a0-808b-fb4aaebba740"}',
url: 'https://sandbox.plaid.com/accounts/get'
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype] {
error: [Array],
abort: [Function (anonymous)],
aborted: [Function (anonymous)],
connect: [Function (anonymous)],
socket: [Function (anonymous)],
timeout: [Function (anonymous)],
finish: [Function: requestOnFinish]
},
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: true,
_last: false,
chunkedEncoding: false,
shouldKeepAlive: true,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: '70',
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: true,
socket: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'sandbox.plaid.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 9,
connecting: false,
_hadError: false,
_parent: null,
_host: 'sandbox.plaid.com',
_closeAfterHandlingError: false,
_readableState: [ReadableState],
_writableState: [WritableState],
allowHalfOpen: false,
_maxListeners: undefined,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: null,
_requestCert: true,
_rejectUnauthorized: true,
timeout: 5000,
parser: null,
_httpMessage: null,
autoSelectFamilyAttemptedAddresses: [Array],
handle: [TLSWrap],
[Symbol(alpncallback)]: null,
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: -1,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: Timeout {
_idleTimeout: 5000,
_idlePrev: [TimersList],
_idleNext: [TimersList],
_idleStart: 719288,
_onTimeout: [Function: bound ],
_timerArgs: undefined,
_repeat: null,
_destroyed: false,
[Symbol(refed)]: false,
[Symbol(kHasPrimitive)]: false,
[Symbol(asyncId)]: 487145,
[Symbol(triggerId)]: 487143,
[Symbol(kResourceStore)]: [Object],
[Symbol(kResourceStore)]: [Object],
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: [Hub],
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: undefined,
[Symbol(kResourceStore)]: [Object],
[Symbol(kResourceStore)]: undefined
},
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(shapeMode)]: true,
[Symbol(kCapture)]: false,
[Symbol(kSetNoDelay)]: false,
[Symbol(kSetKeepAlive)]: true,
[Symbol(kSetKeepAliveInitialDelay)]: 1,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object]
},
_header: 'POST /accounts/get HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: Plaid Node v23.0.0\r\n' +
'Plaid-Version: 2020-09-14\r\n' +
'PLAID-CLIENT-ID: 66350e387172e7001b6195fa\r\n' +
'PLAID-SECRET: b500b62c4af12da276246a44c5b5d9\r\n' +
'Content-Length: 70\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'sentry-trace: 02f9422fea384fc4902804541ae3a666-847eced955122ed0-1\r\n' +
'baggage: sentry-environment=development,sentry-public_key=e300b41df2ffb6d4592972400a25c0d3,sentry-trace_id=02f9422fea384fc4902804541ae3a666,sentry-sample_rate=1,sentry-transaction=Unknown%20Server%20Component%20(%2F(root)),sentry-sampled=true\r\n' +
'Host: sandbox.plaid.com\r\n' +
'Connection: keep-alive\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype] {},
freeSockets: [Object: null prototype],
keepAliveMsecs: 1000,
keepAlive: true,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
maxCachedSessions: 100,
_sessionCache: [Object],
[Symbol(shapeMode)]: false,
[Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/accounts/get',
_ended: true,
res: IncomingMessage {
_events: [Object],
_readableState: [ReadableState],
_maxListeners: undefined,
socket: null,
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
rawHeaders: [Array],
rawTrailers: [],
joinDuplicateHeaders: undefined,
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 400,
statusMessage: 'Bad Request',
client: [TLSSocket],
_consuming: false,
_dumped: false,
req: [Circular *1],
_eventsCount: 4,
responseUrl: 'https://sandbox.plaid.com/accounts/get',
redirects: [],
[Symbol(shapeMode)]: true,
[Symbol(kCapture)]: false,
[Symbol(kHeaders)]: [Object],
[Symbol(kHeadersCount)]: 16,
[Symbol(kTrailers)]: null,
[Symbol(kTrailersCount)]: 0
},
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'sandbox.plaid.com',
protocol: 'https:',
_redirectable: Writable {
_events: [Object],
_writableState: [WritableState],
_maxListeners: undefined,
_options: [Object],
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 70,
_requestBodyBuffers: [],
_eventsCount: 3,
_onNativeResponse: [Function (anonymous)],
_currentRequest: [Circular *1],
_currentUrl: 'https://sandbox.plaid.com/accounts/get',
[Symbol(shapeMode)]: true,
[Symbol(kCapture)]: false
},
[Symbol(shapeMode)]: false,
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype] {
accept: [Array],
'content-type': [Array],
'user-agent': [Array],
'plaid-version': [Array],
'plaid-client-id': [Array],
'plaid-secret': [Array],
'content-length': [Array],
'accept-encoding': [Array],
'sentry-trace': [Array],
baggage: [Array],
host: [Array]
},
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null
},
response: {
status: 400,
statusText: 'Bad Request',
headers: Object [AxiosHeaders] {
server: 'nginx',
date: 'Wed, 05 Jun 2024 06:26:02 GMT',
'content-type': 'application/json; charset=utf-8',
'content-length': '269',
connection: 'keep-alive',
'plaid-version': '2020-09-14',
vary: 'Accept-Encoding'
},
config: {
transitional: [Object],
adapter: [Array],
transformRequest: [Array],
transformResponse: [Array],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: [Object],
validateStatus: [Function: validateStatus],
headers: [Object [AxiosHeaders]],
method: 'post',
data: '{"access_token":"access-sandbox-8a0989f2-ae55-48a0-808b-fb4aaebba740"}',
url: 'https://sandbox.plaid.com/accounts/get'
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: true,
_last: false,
chunkedEncoding: false,
shouldKeepAlive: true,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: '70',
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: true,
socket: [TLSSocket],
_header: 'POST /accounts/get HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: Plaid Node v23.0.0\r\n' +
'Plaid-Version: 2020-09-14\r\n' +
'PLAID-CLIENT-ID: 66350e387172e7001b6195fa\r\n' +
'PLAID-SECRET: b500b62c4af12da276246a44c5b5d9\r\n' +
'Content-Length: 70\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'sentry-trace: 02f9422fea384fc4902804541ae3a666-847eced955122ed0-1\r\n' +
'baggage: sentry-environment=development,sentry-public_key=e300b41df2ffb6d4592972400a25c0d3,sentry-trace_id=02f9422fea384fc4902804541ae3a666,sentry-sample_rate=1,sentry-transaction=Unknown%20Server%20Component%20(%2F(root)),sentry-sampled=true\r\n' +
'Host: sandbox.plaid.com\r\n' +
'Connection: keep-alive\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/accounts/get',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'sandbox.plaid.com',
protocol: 'https:',
_redirectable: [Writable],
[Symbol(shapeMode)]: false,
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null
},
data: {
display_message: null,
error_code: 'ITEM_LOGIN_REQUIRED',
error_message: "the login details of this item have changed (credentials, MFA, or required user action) and a user login is required to update this information. use Link's update mode to restore the item to a good state",
error_type: 'ITEM_ERROR',
request_id: 'H0YA2uTQjWnpgQt',
suggested_action: null
}
}
}

how to solve this error?

Screenshot 2024-06-05 122447

github repo link:
https://github.com/DenisRuparel/banking

please solve this!

Error: documentId is required

An error occurred while getting the account: Error: documentId is required
at $$ACTION_8 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:241:15)
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:76:82)
at Dashboard (webpack-internal:///(rsc)/./app/(root)/page.tsx:39:80)

I've been getting error in the above or the below one:

✓ Compiled in 643ms (2878 modules)
[getBank] { documentId: undefined }
[getBank] ERROR AppwriteException: Invalid query: Query value is invalid for attribute "$id"
at _Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/client.mjs:287:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/services/databases.mjs:1581:12)
at async $$ACTION_8 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:271:22)
at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:76:22)
at async Dashboard (webpack-internal:///(rsc)/./app/(root)/page.tsx:39:5) {
code: 400,
type: 'general_query_invalid',
response: {
message: 'Invalid query: Query value is invalid for attribute "$id"',
code: 400,
type: 'general_query_invalid',
version: '1.6.0'
}
}
Is anyone getting similar issues?

transfer fund error!

when i transfer the funds i face this error
Transfer fund failed: Error: {"code":"ValidationError","message":"Validation error(s) present. See embedded errors list for more details.","_embedded":{"errors":[{"code":"Invalid","message":"Invalid destination.","path":"/_links/destination/href","_links":{}}]}}
at errorFrom (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:52:15)
at eval (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:73:29)
From previous event:
at handleResponse (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:60:21)
From previous event:
at Token.post (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:95:6)
at eval (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Client.js:66:25)
at process.processImmediate (node:internal/timers:478:21)
at process.callbackTrampoline (node:internal/async_hooks:130:17)
From previous event:
at Client.post (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Client.js:65:23)
at $$ACTION_3 (webpack-internal:///(rsc)/./lib/actions/dwolla.actions.ts:86:35)
at endpoint (webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-action-entry-loader.js?actions=%5B%5B%22D%3A%5C%5CNext_Projects%5C%5Cbanking%5C%5Clib%5C%5Cactions%5C%5Cbank.actions.ts%22%2C%5B%22getAccount%22%2C%22getInstitution%22%2C%22getAccounts%22%2C%22%24%24ACTION_2%22%2C%22%24%24ACTION_3%22%2C%22%24%24ACTION_1%22%2C%22%24%24ACTION_0%22%2C%22getTransactions%22%5D%5D%2C%5B%22D%3A%5C%5CNext_Projects%5C%5Cbanking%5C%5Clib%5C%5Cactions%5C%5Ctransaction.actions.ts%22%2C%5B%22getTransactionsByBankId%22%2C%22%24%24ACTION_1%22%2C%22createTransaction%22%2C%22%24%24ACTION_0%22%5D%5D%2C%5B%22D%3A%5C%5CNext_Projects%5C%5Cbanking%5C%5Clib%5C%5Cappwrite.ts%22%2C%5B%22createSessionClient%22%2C%22createAdminClient%22%5D%5D%2C%5B%22D%3A%5C%5CNext_Projects%5C%5Cbanking%5C%5Clib%5C%5Cactions%5C%5Cuser.actions.ts%22%2C%5B%22%24%24ACTION_9%22%2C%22%24%24ACTION_2%22%2C%22%24%24ACTION_7%22%2C%22createLinkToken%22%2C%22getUserInfo%22%2C%22getBankByAccountId%22%2C%22%24%24ACTION_5%22%2C%22%24%24ACTION_0%22%2C%22%24%24ACTION_1%22%2C%22%24%24ACTION_4%22%2C%22createBankAccount%22%2C%22signIn%22%2C%22%24%24ACTION_3%22%2C%22signUp%22%2C%22getBanks%22%2C%22getBank%22%2C%22%24%24ACTION_6%22%2C%22exchangePublicToken%22%2C%22%24%24ACTION_8%22%2C%22logoutAccount%22%2C%22getLoggedInUser%22%5D%5D%2C%5B%22D%3A%5C%5CNext_Projects%5C%5Cbanking%5C%5Clib%5C%5Cactions%5C%5Cdwolla.actions.ts%22%2C%5B%22%24%24ACTION_4%22%2C%22createTransfer%22%2C%22addFundingSource%22%2C%22%24%24ACTION_1%22%2C%22createDwollaCustomer%22%2C%22%24%24ACTION_3%22%2C%22createOnDemandAuthorization%22%2C%22createFundingSource%22%2C%22%24%24ACTION_0%22%2C%22%24%24ACTION_2%22%5D%5D%5D&client_imported=!:52:17)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async D:\Next_Projects\banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:39:418
at async rS (D:\Next_Projects\banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:38:7978)
at async r2 (D:\Next_Projects\banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:41:1251)
at async doRender (D:\Next_Projects\banking\node_modules\next\dist\server\base-server.js:1438:30)
at async cacheEntry.responseCache.get.routeKind (D:\Next_Projects\banking\node_modules\next\dist\server\base-server.js:1599:28)
at async DevServer.renderToResponseWithComponentsImpl (D:\Next_Projects\banking\node_modules\next\dist\server\base-server.js:1507:28)
at async DevServer.renderPageComponent (D:\Next_Projects\banking\node_modules\next\dist\server\base-server.js:1924:24)
at async DevServer.renderToResponseImpl (D:\Next_Projects\banking\node_modules\next\dist\server\base-server.js:1962:32)
at async DevServer.pipeImpl (D:\Next_Projects\banking\node_modules\next\dist\server\base-server.js:920:25)
at async NextNodeServer.handleCatchallRenderRequest (D:\Next_Projects\banking\node_modules\next\dist\server\next-server.js:272:17)
at async DevServer.handleRequestImpl (D:\Next_Projects\banking\node_modules\next\dist\server\base-server.js:816:17)
at async D:\Next_Projects\banking\node_modules\next\dist\server\dev\next-dev-server.js:339:20
at async Span.traceAsyncFn (D:\Next_Projects\banking\node_modules\next\dist\trace\trace.js:154:20)
at async DevServer.handleRequest (D:\Next_Projects\banking\node_modules\next\dist\server\dev\next-dev-server.js:336:24)
at async invokeRender (D:\Next_Projects\banking\node_modules\next\dist\server\lib\router-server.js:174:21)
at async handleRequest (D:\Next_Projects\banking\node_modules\next\dist\server\lib\router-server.js:353:24)
at async requestHandlerImpl (D:\Next_Projects\banking\node_modules\next\dist\server\lib\router-server.js:377:13)
at async Server.requestListener (D:\Next_Projects\banking\node_modules\next\dist\server\lib\start-server.js:141:13) {
status: 400,
headers: Headers {
[Symbol(map)]: [Object: null prototype] {
date: [Array],
'content-type': [Array],
'content-length': [Array],
connection: [Array],
'access-control-allow-origin': [Array],
'x-request-id': [Array],
'cf-cache-status': [Array],
'set-cookie': [Array],
server: [Array],
'cf-ray': [Array]
}
},
body: {
code: 'ValidationError',
message: 'Validation error(s) present. See embedded errors list for more details.',
_embedded: { errors: [Array] }
}
}

github repo link:
https://github.com/DenisRuparel/banking

Problem loading the TransactionTable

Any help would be greatly appreciated 🙏

I'm currently at 5:32:39 in the youtube tutorial video, if it helps

Problem loading the TransactionTable in root page.tsx and in /tramsaction-history Route

image
The above picture shows the console looged account as undefined, which uses the 'getAccount' imported from the bank.transactions.ts

this is the getAccount i used:

export const getAccount = async ({ appwriteItemId }: getAccountProps) => {
  try {
    // get bank from db
    const bank = await getBank({ documentId: appwriteItemId });

    // get account info from plaid
    const accountsResponse = await plaidClient.accountsGet({
      access_token: bank.accessToken
    });
    const accountData = accountsResponse.data.accounts[0];

    // get transfer transactions from appwrite
    const transferTransactionsData = await getTransactionsByBankId({
      bankId: bank.$id
    });

    const transferTransactions = transferTransactionsData.documents.map(
      (transferData: Transaction) => ({
        id: transferData.$id,
        name: transferData.name!,
        amount: transferData.amount!,
        date: transferData.$createdAt,
        paymentChannel: transferData.channel,
        category: transferData.category,
        type: transferData.senderBankId === bank.$id ? "debit" : "credit"
      })
    );

    // get institution info from plaid
    const institution = await getInstitution({
      institutionId: accountsResponse.data.item.institution_id!
    });

    const transactions = await getTransactions({
      accessToken: bank?.accessToken
    });

    const account = {
      id: accountData.account_id,
      availableBalance: accountData.balances.available!,
      currentBalance: accountData.balances.current!,
      institutionId: institution.institution_id,
      name: accountData.name,
      officialName: accountData.official_name,
      mask: accountData.mask!,
      type: accountData.type as string,
      subtype: accountData.subtype! as string,
      appwriteItemId: bank.$id
    };

    // sort transactions by date such that the most recent transaction is first
    const allTransactions = [...transactions, ...transferTransactions].sort(
      (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()
    );

    return parseStringify({
      data: account,
      transactions: allTransactions
    });
  } catch (error) {
    console.error("An error occurred while getting the account:", error);
  }
};

And after some debuggin the error seems that the cause of the error is this function getTransactionsByBankId which is failed to send the senderBankId it seems

the following error is also logged in my console btw:

AppwriteException [Error]: Invalid query: Attribute not found in schema: senderBankId
    at Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/client.js:206:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/lib/services/databases.js:1658:16)
    at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/transaction.actions.ts:40:36)
    at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:89:42)
    at async TransactionHistory (webpack-internal:///(rsc)/./app/(root)/transaction-history/page.tsx:43:21) {
  code: 400,
  type: 'general_query_invalid',
  response: {
    message: 'Invalid query: Attribute not found in schema: senderBankId',
    code: 400,
    type: 'general_query_invalid',
    version: '0.13.16'
  }
}
An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'documents')
    at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:92:63)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TransactionHistory (webpack-internal:///(rsc)/./app/(root)/transaction-history/page.tsx:43:21)
account: undefined
 ⨯ components\TransactionsTable.tsx (48:25) @ map
 ⨯ TypeError: Cannot read properties of undefined (reading 'map')
    at TransactionsTable (./components/TransactionsTable.tsx:103:44)
    at stringify (<anonymous>)
digest: "1903807520"
  46 |         </TableHeader>
  47 |         <TableBody>
> 48 |           {transactions.map((t: Transaction) => {
     |                         ^
  49 |             const status = getTransactionStatus(new Date(t.date));
  50 |             const amount = formatAmount(t.amount);
  51 |

Can't use Plaid Link in Mobile Menu

It seems to be a z-index issue as I can use the nav while Plaid is open by clicking where the plaid pop-up and menu item intersect. Hitting the Plaid continue button, but outside the mobile menu closes both the menu and Plaid as well. I changed the z-index of the sheet overlay-0 since -1 puts it behind all content. I checked the Plaid popup, and it appears to be z-index of 2147483647 which baffles me even more because it seems that would place it on top of all other content. Any suggestions on how to get this to work inside of a shadcn-ui sheet?

P.S. I don't know why this appears as a comment instead of a description. Editing doesn't give me a description box either.

Missing required attribute "userid"

Error AppwriteException [Error]: Invalid document structure: Missing required attribute "userid" at Client.call (webpack-internal:///(action-browser)/./node_modules/node-appwrite/lib/client.js:206:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Databases.createDocument (webpack-internal:///(action-browser)/./node_modules/node-appwrite/lib/services/databases.js:1711:16) at async $$ACTION_2 (webpack-internal:///(action-browser)/./lib/actions/user.actions.ts:95:25) at async C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:39:418 at async rS (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:38:7978) at async r2 (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:41:1251) at async doRender (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\base-server.js:1438:30) at async cacheEntry.responseCache.get.routeKind (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\base-server.js:1599:28) at async DevServer.renderToResponseWithComponentsImpl (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\base-server.js:1507:28) at async DevServer.renderPageComponent (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\base-server.js:1924:24) at async DevServer.renderToResponseImpl (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\base-server.js:1962:32) at async DevServer.pipeImpl (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\base-server.js:920:25) at async NextNodeServer.handleCatchallRenderRequest (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\next-server.js:272:17) at async DevServer.handleRequestImpl (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\base-server.js:816:17) at async C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\dev\next-dev-server.js:339:20 at async Span.traceAsyncFn (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\trace\trace.js:154:20) at async DevServer.handleRequest (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\dev\next-dev-server.js:336:24) at async invokeRender (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\lib\router-server.js:174:21) at async handleRequest (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\lib\router-server.js:353:24) at async requestHandlerImpl (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\lib\router-server.js:377:13) at async Server.requestListener (C:\Users\xasky\Documents\Programming\banking-main\node_modules\next\dist\server\lib\start-server.js:141:13) { code: 400, type: 'document_invalid_structure', response: { message: 'Invalid document structure: Missing required attribute "userid"', code: 400, type: 'document_invalid_structure', version: '1.5.7' } }

Sign up issues using appwrite

Warning: The current SDK is built for Appwrite 1.6.0. However, the current Appwrite server version is 1.5.10. Please downgrade your SDK to match the Appwrite version: https://appwrite.io/docs/sdks
Error AppwriteException: Project with the requested ID could not be found. Please check the value of the X-Appwrite-Project header to ensure the correct project ID is being used.

code: 404,
type: 'project_not_found',
response: {
message: 'Project with the requested ID could not be found. Please check the value of the X-Appwrite-Project header to ensure the correct project ID is being used.',
code: 404,
type: 'project_not_found',
version: '1.5.10'
}
}

i get this issue while trying to sign up

One doubt

@adrianhajdin I have followed your channel and coded this project step by step followed for 2months with my commits and working fine and hoisted. Shall I use this project as my reference of study? Please let me know if any license issue, by listening your video and completed the project.

Sign up problem

I copied the files from github but the Registration form is not working. Is everyone the same?

Sign Up Not working

The sign-in is working and the values of the input form are being printed in the console.. However, the signup form on submitting, is not consoling the values of the form...

appwrite exception error query error error getting account from plaid

AppwriteException: Invalid query: Query value is invalid for attribute "$id"
at _Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/client.mjs:283:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/services/databases.mjs:1581:12)
at async $$ACTION_8 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:235:22)
at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:77:22)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21) {
code: 400,
type: 'general_query_invalid',
response: {
message: 'Invalid query: Query value is invalid for attribute "$id"',
code: 400,
type: 'general_query_invalid',
version: '1.5.7'
}
}
An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'accessToken')
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:82:32)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21)
GET /?_rsc=mua4a 200 in 2396ms
AppwriteException: Invalid query: Query value is invalid for attribute "$id"
at _Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/client.mjs:283:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/services/databases.mjs:1581:12)
at async $$ACTION_8 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:235:22)
at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:77:22)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21) {
code: 400,
type: 'general_query_invalid',
response: {
message: 'Invalid query: Query value is invalid for attribute "$id"',
code: 400,
type: 'general_query_invalid',
version: '1.5.7'
}
}
An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'accessToken')
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:82:32)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21)
GET /?_rsc=mua4a 200 in 2429ms
AppwriteException: Invalid query: Query value is invalid for attribute "$id"
at _Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/client.mjs:283:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/services/databases.mjs:1581:12)
at async $$ACTION_8 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:235:22)
at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:77:22)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21) {
code: 400,
type: 'general_query_invalid',
response: {
message: 'Invalid query: Query value is invalid for attribute "$id"',
code: 400,
type: 'general_query_invalid',
version: '1.5.7'
}
}
An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'accessToken')
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:82:32)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21)
GET / 200 in 2978ms
POST / 200 in 199ms
POST / 200 in 277ms
POST / 200 in 275ms
Creating a Funding Source Failed: Error: {"code":"DuplicateResource","message":"Bank already exists: id=7dae9be1-07a7-40eb-ab05-87da6ca52072","_links":{"about":{"href":"https://api-sandbox.dwolla.com/funding-sources/7dae9be1-07a7-40eb-ab05-87da6ca52072","type":"application/vnd.dwolla.v1.hal+json","resource-type":"funding-source"}}}
at errorFrom (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:52:15)
at eval (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:73:29)
From previous event:
at handleResponse (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:60:21)
From previous event:
at Token.post (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Token.js:95:6)
at eval (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Client.js:66:25)
at process.processImmediate (node:internal/timers:478:21)
at process.callbackTrampoline (node:internal/async_hooks:130:17)
From previous event:
at Client.post (webpack-internal:///(rsc)/./node_modules/dwolla-v2/src/dwolla/Client.js:65:23)
at $$ACTION_0 (webpack-internal:///(rsc)/./lib/actions/dwolla.actions.ts:43:35)
at $$ACTION_4 (webpack-internal:///(rsc)/./lib/actions/dwolla.actions.ts:103:22)
at async $$ACTION_6 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:192:34)
at async /Users/ayush/Desktop/banking_project/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:418
at async rS (/Users/ayush/Desktop/banking_project/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:38:7978)
at async r2 (/Users/ayush/Desktop/banking_project/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:41:1251)
at async doRender (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/base-server.js:1438:30)
at async cacheEntry.responseCache.get.routeKind (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/base-server.js:1599:28)
at async DevServer.renderToResponseWithComponentsImpl (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/base-server.js:1507:28)
at async DevServer.renderPageComponent (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/base-server.js:920:25)
at async NextNodeServer.handleCatchallRenderRequest (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/base-server.js:816:17)
at async /Users/ayush/Desktop/banking_project/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/Users/ayush/Desktop/banking_project/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/lib/router-server.js:174:21)
at async handleRequest (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/lib/router-server.js:353:24)
at async requestHandlerImpl (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/lib/router-server.js:377:13)
at async Server.requestListener (/Users/ayush/Desktop/banking_project/node_modules/next/dist/server/lib/start-server.js:141:13) {
status: 400,
headers: Headers {
[Symbol(map)]: [Object: null prototype] {
date: [Array],
'content-type': [Array],
'content-length': [Array],
connection: [Array],
'access-control-allow-origin': [Array],
'x-request-id': [Array],
'cf-cache-status': [Array],
'set-cookie': [Array],
server: [Array],
'cf-ray': [Array]
}
},
body: {
code: 'DuplicateResource',
message: 'Bank already exists: id=7dae9be1-07a7-40eb-ab05-87da6ca52072',
_links: { about: [Object] }
}
}
An error occured while creating exchanging token: [Function: Error] { stackTraceLimit: 68, prepareStackTrace: undefined }
POST / 200 in 5423ms
AppwriteException: Invalid query: Query value is invalid for attribute "$id"
at _Client.call (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/client.mjs:283:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Databases.listDocuments (webpack-internal:///(rsc)/./node_modules/node-appwrite/dist/services/databases.mjs:1581:12)
at async $$ACTION_8 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:235:22)
at async $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:77:22)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21) {
code: 400,
type: 'general_query_invalid',
response: {
message: 'Invalid query: Query value is invalid for attribute "$id"',
code: 400,
type: 'general_query_invalid',
version: '1.5.7'
}
}
An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'accessToken')
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:82:32)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:45:21)
GET /?_rsc=ls1f6 200 in 3515ms
POST / 200 in 1108ms

Cannot read properties of null (reading 'name')

Not sure what i am doing wrong but cannot pass this issue, everything seems fine but I keep getting runtime error.

Error: Cannot read properties of null (reading 'name')

Source
components\ui\RightSidebar.tsx (14:68) @ name

12 |


13 |

14 | {user.name[0]}
|
15 |


16 |
17 |

Issues showing table

I get this error when i tried to get the table,

code: 404,
type: 'collection_not_found',
response: {
message: 'Collection with the requested ID could not be found.',
code: 404,
type: 'collection_not_found',
version: '1.5.8'
}
}
An error occurred while getting the account: TypeError: Cannot read properties of undefined (reading 'documents')
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/bank.actions.ts:89:63)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Home (webpack-internal:///(rsc)/./app/(root)/page.tsx:46:5)
GET /?_rsc=3rnhc 200 in 2810ms

Validation error

I also get this Validation error when trying to sign up.

[Symbol(map)]: [Object: null prototype] {
date: [Array],
'content-type': [Array],
'content-length': [Array],
connection: [Array],
'access-control-allow-origin': [Array],
'x-request-id': [Array],
'cf-cache-status': [Array],
'set-cookie': [Array],
server: [Array],
'cf-ray': [Array]
}
},
body: {
code: 'ValidationError',
message: 'Validation error(s) present. See embedded errors list for more details.',
_embedded: { errors: [Array] }
}
}
Error Error: Error creating Dwolla customer
at $$ACTION_1 (webpack-internal:///(rsc)/./lib/actions/user.actions.ts:61:39)
at async C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:39:418
at async rw (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:38:7978)
at async r4 (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\compiled\next-server\app-page.runtime.dev.js:41:1251)
at async doRender (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\base-server.js:1438:30)
at async cacheEntry.responseCache.get.routeKind (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\base-server.js:1599:28)
at async DevServer.renderToResponseWithComponentsImpl (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\base-server.js:1507:28)
at async DevServer.renderPageComponent (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\base-server.js:1931:24)
at async DevServer.renderToResponseImpl (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\base-server.js:1969:32)
at async DevServer.pipeImpl (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\base-server.js:920:25)
at async NextNodeServer.handleCatchallRenderRequest (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\next-server.js:272:17)
at async DevServer.handleRequestImpl (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\base-server.js:816:17)
at async C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\dev\next-dev-server.js:339:20
at async Span.traceAsyncFn (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\trace\trace.js:154:20)
at async DevServer.handleRequest (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\dev\next-dev-server.js:336:24)
at async invokeRender (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\lib\router-server.js:174:21)
at async handleRequest (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\lib\router-server.js:353:24)
at async requestHandlerImpl (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\lib\router-server.js:377:13)
at async Server.requestListener (C:\Users\fernandob\GitHub\fb_banking\node_modules\next\dist\server\lib\start-server.js:141:13)

MobileNavBar sizing issue

Hi, I am currently at 1:15:05 of the video, but for some reason, the h1 of the mobile nav bar appears very small. Has anyone encountered this issue before, and if so, how to solve it?
image

Code for it here:

const MobileNav = ({user}: MobileNavProps) => {
    const pathname = usePathname();
    return (
        <section className='w-full max-w-[264px]'>
        <Sheet>
            <SheetTrigger>
                <Image
                    src="\icons\hamburger.svg"
                    width={30}
                    height={30}
                    alt="menu"
                    className='cursor-pointer'
                />
            </SheetTrigger>
            <SheetContent side="left" className='border-none bg-white'>
                <Link href='/'className='cursor-pointer flex items-center gap-1 px-4'>
                        <Image 
                            src='/icons/logo.svg'
                            width={34}
                            height={34}
                            alt="Bankify Logo"
                        />
                        {/* Figure out why the font size is not increasing */}
                        <h1 className='text-26-font-ibm-plex-serif font-bold text-black-1'>Bankify</h1> 
                </Link>
                <div className='mobilenav-sheet'>
                    <SheetClose asChild>
                        <nav className='flex h-full flex-col gap-6 pt-16 text-white'>
                            {sidebarLinks.map((item) => {
                                const isActive = pathname === item.route || pathname.startsWith('${item.route}/')
                                return (
                                    <SheetClose asChild key={item.route}>
                                        <Link href={item.route} key={item.label} className={cn('mobilenav-sheet_close w-full', {'bg-bank-gradient': isActive})}>
                                            <Image 
                                                src={item.imgURL}
                                                alt={item.label}
                                                width={20}
                                                height={20}
                                                className={cn({
                                                    'brightness-[3] invert-0': isActive})}
                                            />  
                                        <p className={cn("text-16 font-semibold text-black-2", { "text-white": isActive })}>
                                            {item.label}
                                        </p>
                                        </Link>
                                    </SheetClose>
                            )})}           
                        </nav>
                    </SheetClose>
                </div>
        </SheetContent>
    </Sheet>

    </section>
  )
}

export default MobileNav

Require some more error handling, and show error messages while sign up.

Hey @adrianhajdin,

Thank you for amazing and awasome tutorials like these and sharing the source code.
I was facing some issues in signup, hence i cloned the repo and debugged it.
If user enters some invalid details for date of birth, postal code, SSN or some other fields, it is resulting into errors

**Error message : **
Creating a Dwolla Customer Failed: Error: {"code":"ValidationError","message":"Validation error(s) present. See embedded errors list for more details.","_embedded":{"errors":[{"code":"NotAllowed","message":"DateOfBirth value not allowed.","path":"/dateOfBirth","_links":{}},{"code":"InvalidFormat","message":"Ssn invalid.","path":"/ssn","_links":{}}]}}

Another thing, user would have enterd proper email, and we would have created the appwrite account/user and user tries to enter proper details later , appwrite is giving already account exists. I think we have to delete the appwrite user if _ Creation of Dwolla Customer Failed_.

Thank You

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.