mirror of
https://github.com/penpot/penpot.git
synced 2025-05-10 20:06:38 +02:00
📎 Fix license header.
This commit is contained in:
parent
7d14aef393
commit
f545e41d10
410 changed files with 385 additions and 1867 deletions
|
@ -41,8 +41,5 @@ This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
defined by the Mozilla Public License, v. 2.0.
|
|
||||||
|
|
||||||
Copyright (c) UXBOX Labs SL
|
Copyright (c) UXBOX Labs SL
|
||||||
```
|
```
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2016-2020 Andrey Antukh <niwi@niwi.nz>
|
|
||||||
|
|
||||||
(ns user
|
(ns user
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -4,9 +4,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns build
|
(ns build
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.cli.fixtures
|
(ns app.cli.fixtures
|
||||||
"A initial fixtures."
|
"A initial fixtures."
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.cli.manage
|
(ns app.cli.manage
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.cli.migrate-media
|
(ns app.cli.migrate-media
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.config
|
(ns app.config
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.db
|
(ns app.db
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.db.sql
|
(ns app.db.sql
|
||||||
(:refer-clojure :exclude [update])
|
(:refer-clojure :exclude [update])
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.emails
|
(ns app.emails
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.http
|
(ns app.http
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.http.assets
|
(ns app.http.assets
|
||||||
"Assets related handlers."
|
"Assets related handlers."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 Andrey Antukh <niwi@niwi.nz>
|
|
||||||
|
|
||||||
(ns app.http.awsns
|
(ns app.http.awsns
|
||||||
"AWS SNS webhook handler for bounces."
|
"AWS SNS webhook handler for bounces."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.http.errors
|
(ns app.http.errors
|
||||||
"A errors handling for the http server."
|
"A errors handling for the http server."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.http.feedback
|
(ns app.http.feedback
|
||||||
"A general purpose feedback module."
|
"A general purpose feedback module."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.http.middleware
|
(ns app.http.middleware
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.http.oauth.github
|
(ns app.http.oauth.github
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.http.oauth.gitlab
|
(ns app.http.oauth.gitlab
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.http.oauth.google
|
(ns app.http.oauth.google
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.http.session
|
(ns app.http.session
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.loggers.loki
|
(ns app.loggers.loki
|
||||||
"A Loki integration."
|
"A Loki integration."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.loggers.mattermost
|
(ns app.loggers.mattermost
|
||||||
"A mattermost integration for error reporting."
|
"A mattermost integration for error reporting."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.loggers.zmq
|
(ns app.loggers.zmq
|
||||||
"A generic ZMQ listener."
|
"A generic ZMQ listener."
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.main
|
(ns app.main
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.media
|
(ns app.media
|
||||||
"Media postprocessing."
|
"Media postprocessing."
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.metrics
|
(ns app.metrics
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.migrations
|
(ns app.migrations
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.migrations.migration-0023
|
(ns app.migrations.migration-0023
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.msgbus
|
(ns app.msgbus
|
||||||
"The msgbus abstraction implemented using redis as underlying backend."
|
"The msgbus abstraction implemented using redis as underlying backend."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.notifications
|
(ns app.notifications
|
||||||
"A websocket based notifications mechanism."
|
"A websocket based notifications mechanism."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rlimits
|
(ns app.rlimits
|
||||||
"Resource usage limits (in other words: semaphores)."
|
"Resource usage limits (in other words: semaphores)."
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.rpc
|
(ns app.rpc
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.comments
|
(ns app.rpc.mutations.comments
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.rpc.mutations.demo
|
(ns app.rpc.mutations.demo
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.rpc.mutations.files
|
(ns app.rpc.mutations.files
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.ldap
|
(ns app.rpc.mutations.ldap
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.management
|
(ns app.rpc.mutations.management
|
||||||
"Move & Duplicate RPC methods for files and projects."
|
"Move & Duplicate RPC methods for files and projects."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.media
|
(ns app.rpc.mutations.media
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.profile
|
(ns app.rpc.mutations.profile
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.projects
|
(ns app.rpc.mutations.projects
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.rpc.mutations.teams
|
(ns app.rpc.mutations.teams
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.verify-token
|
(ns app.rpc.mutations.verify-token
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.mutations.viewer
|
(ns app.rpc.mutations.viewer
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.permissions
|
(ns app.rpc.permissions
|
||||||
"A permission checking helper factories."
|
"A permission checking helper factories."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.queries.comments
|
(ns app.rpc.queries.comments
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.queries.files
|
(ns app.rpc.queries.files
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.queries.profile
|
(ns app.rpc.queries.profile
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.queries.projects
|
(ns app.rpc.queries.projects
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.queries.recent-files
|
(ns app.rpc.queries.recent-files
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.queries.teams
|
(ns app.rpc.queries.teams
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.rpc.queries.viewer
|
(ns app.rpc.queries.viewer
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.setup
|
(ns app.setup
|
||||||
"Initial data setup of instance."
|
"Initial data setup of instance."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.setup.initial-data
|
(ns app.setup.initial-data
|
||||||
(:refer-clojure :exclude [load])
|
(:refer-clojure :exclude [load])
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.srepl
|
(ns app.srepl
|
||||||
"Server Repl."
|
"Server Repl."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.storage
|
(ns app.storage
|
||||||
"File Storage abstraction layer."
|
"File Storage abstraction layer."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.storage.db
|
(ns app.storage.db
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.storage.fs
|
(ns app.storage.fs
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.storage.impl
|
(ns app.storage.impl
|
||||||
"Storage backends abstraction layer."
|
"Storage backends abstraction layer."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.storage.s3
|
(ns app.storage.s3
|
||||||
"Storage backends abstraction layer."
|
"Storage backends abstraction layer."
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.svgparse
|
(ns app.svgparse
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.tasks.delete-object
|
(ns app.tasks.delete-object
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tasks.delete-profile
|
(ns app.tasks.delete-profile
|
||||||
"Task for permanent deletion of profiles."
|
"Task for permanent deletion of profiles."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tasks.file-media-gc
|
(ns app.tasks.file-media-gc
|
||||||
"A maintenance task that is responsible to purge the unused media
|
"A maintenance task that is responsible to purge the unused media
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.tasks.file-xlog-gc
|
(ns app.tasks.file-xlog-gc
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.tasks.tasks-gc
|
(ns app.tasks.tasks-gc
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.tasks.telemetry
|
(ns app.tasks.telemetry
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tokens
|
(ns app.tokens
|
||||||
"Tokens generation service."
|
"Tokens generation service."
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; Copyright (c) 2020 Andrey Antukh <niwi@niwi.nz>
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.util.async
|
(ns app.util.async
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.util.blob
|
(ns app.util.blob
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.util.closeable
|
(ns app.util.closeable
|
||||||
"A closeable abstraction. A drop in replacement for
|
"A closeable abstraction. A drop in replacement for
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
;; This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2016 Andrey Antukh <niwi@niwi.nz>
|
|
||||||
|
|
||||||
(ns app.util.data
|
|
||||||
"Data transformations utils."
|
|
||||||
(:require [clojure.walk :as walk]
|
|
||||||
[cuerdas.core :as str]))
|
|
||||||
|
|
||||||
;; TODO: move to app.common.helpers
|
|
||||||
|
|
||||||
(defn dissoc-in
|
|
||||||
[m [k & ks]]
|
|
||||||
(if ks
|
|
||||||
(if-let [nextmap (get m k)]
|
|
||||||
(let [newmap (dissoc-in nextmap ks)]
|
|
||||||
(if (seq newmap)
|
|
||||||
(assoc m k newmap)
|
|
||||||
(dissoc m k)))
|
|
||||||
m)
|
|
||||||
(dissoc m k)))
|
|
||||||
|
|
||||||
(defn normalize-attrs
|
|
||||||
"Recursively transforms all map keys from strings to keywords."
|
|
||||||
[m]
|
|
||||||
(letfn [(tf [[k v]]
|
|
||||||
(let [ks (-> (name k)
|
|
||||||
(str/replace "_" "-"))]
|
|
||||||
[(keyword ks) v]))
|
|
||||||
(walker [x]
|
|
||||||
(if (map? x)
|
|
||||||
(into {} (map tf) x)
|
|
||||||
x))]
|
|
||||||
(walk/postwalk walker m)))
|
|
||||||
|
|
||||||
(defn strip-delete-attrs
|
|
||||||
[m]
|
|
||||||
(dissoc m :deleted-at))
|
|
||||||
|
|
||||||
(defn normalize
|
|
||||||
"Perform a common normalization transformation
|
|
||||||
for a entity (database retrieved) data structure."
|
|
||||||
[m]
|
|
||||||
(-> m normalize-attrs strip-delete-attrs))
|
|
||||||
|
|
||||||
(defn deep-merge
|
|
||||||
[& maps]
|
|
||||||
(letfn [(merge' [& maps]
|
|
||||||
(if (every? map? maps)
|
|
||||||
(apply merge-with merge' maps)
|
|
||||||
(last maps)))]
|
|
||||||
(apply merge' (remove nil? maps))))
|
|
|
@ -1,95 +0,0 @@
|
||||||
;; This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2019 Andrey Antukh <niwi@niwi.nz>
|
|
||||||
|
|
||||||
(ns app.util.dispatcher
|
|
||||||
"A generic service dispatcher implementation."
|
|
||||||
(:refer-clojure :exclude [defmethod])
|
|
||||||
(:require
|
|
||||||
[app.common.exceptions :as ex]
|
|
||||||
[clojure.spec.alpha :as s])
|
|
||||||
(:import
|
|
||||||
java.util.HashMap
|
|
||||||
java.util.Map))
|
|
||||||
|
|
||||||
(definterface IDispatcher
|
|
||||||
(^void add [key f]))
|
|
||||||
|
|
||||||
(deftype Dispatcher [reg attr wrap]
|
|
||||||
IDispatcher
|
|
||||||
(add [this key f]
|
|
||||||
(.put ^Map reg key (wrap f))
|
|
||||||
this)
|
|
||||||
|
|
||||||
|
|
||||||
clojure.lang.IDeref
|
|
||||||
(deref [_]
|
|
||||||
{:registry reg
|
|
||||||
:attr attr
|
|
||||||
:wrap wrap})
|
|
||||||
|
|
||||||
clojure.lang.IFn
|
|
||||||
(invoke [_ params]
|
|
||||||
(let [key (get params attr)
|
|
||||||
f (.get ^Map reg key)]
|
|
||||||
(when (nil? f)
|
|
||||||
(ex/raise :type :method-not-found
|
|
||||||
:hint "No method found for the current request."
|
|
||||||
:context {:key key}))
|
|
||||||
(f params))))
|
|
||||||
|
|
||||||
(defn dispatcher?
|
|
||||||
[v]
|
|
||||||
(instance? IDispatcher v))
|
|
||||||
|
|
||||||
(defmacro defservice
|
|
||||||
[sname & {:keys [dispatch-by wrap]}]
|
|
||||||
`(def ~sname (Dispatcher. (HashMap.) ~dispatch-by ~wrap)))
|
|
||||||
|
|
||||||
(defn parse-defmethod
|
|
||||||
[args]
|
|
||||||
(loop [r {}
|
|
||||||
s 0
|
|
||||||
v (first args)
|
|
||||||
n (rest args)]
|
|
||||||
(case s
|
|
||||||
0 (if (symbol? v)
|
|
||||||
(recur (assoc r :sym v) 1 (first n) (rest n))
|
|
||||||
(throw (ex-info "first arg to `defmethod` should be a symbol" {})))
|
|
||||||
1 (if (qualified-keyword? v)
|
|
||||||
(recur (-> r
|
|
||||||
(assoc :key (keyword (name v)))
|
|
||||||
(assoc :meta {:spec v :doc nil}))
|
|
||||||
3 (first n) (rest n))
|
|
||||||
(recur r (inc s) v n))
|
|
||||||
2 (if (simple-keyword? v)
|
|
||||||
(recur (-> r
|
|
||||||
(assoc :key v)
|
|
||||||
(assoc :meta {:doc nil}))
|
|
||||||
3 (first n) (rest n))
|
|
||||||
(throw (ex-info "second arg to `defmethod` should be a keyword" {})))
|
|
||||||
3 (if (string? v)
|
|
||||||
(recur (update r :meta assoc :doc v) (inc s) (first n) (rest n))
|
|
||||||
(recur r 4 v n))
|
|
||||||
4 (if (map? v)
|
|
||||||
(recur (update r :meta merge v) (inc s) (first n) (rest n))
|
|
||||||
(recur r 5 v n))
|
|
||||||
5 (if (vector? v)
|
|
||||||
(assoc r :args v :body n)
|
|
||||||
(throw (ex-info "missing arguments vector" {}))))))
|
|
||||||
|
|
||||||
(defn add-method
|
|
||||||
[^Dispatcher dsp key f meta]
|
|
||||||
(let [f (with-meta f meta)]
|
|
||||||
(.add dsp key f)
|
|
||||||
dsp))
|
|
||||||
|
|
||||||
(defmacro defmethod
|
|
||||||
[& args]
|
|
||||||
(let [{:keys [key meta sym args body]} (parse-defmethod args)
|
|
||||||
f `(fn ~args ~@body)]
|
|
||||||
`(do
|
|
||||||
(s/assert dispatcher? ~sym)
|
|
||||||
(add-method ~sym ~key ~f ~meta))))
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.util.emails
|
(ns app.util.emails
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.util.http
|
(ns app.util.http
|
||||||
"Http client abstraction layer."
|
"Http client abstraction layer."
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.util.json
|
(ns app.util.json
|
||||||
(:refer-clojure :exclude [read])
|
(:refer-clojure :exclude [read])
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.util.logging
|
(ns app.util.logging
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.util.migrations
|
(ns app.util.migrations
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 Andrey Antukh <niwi@niwi.nz>
|
|
||||||
|
|
||||||
(ns app.util.services
|
(ns app.util.services
|
||||||
"A helpers and macros for define rpc like registry based services."
|
"A helpers and macros for define rpc like registry based services."
|
||||||
|
|
|
@ -1,198 +0,0 @@
|
||||||
;; Copyright (c) 2019 Andrey Antukh <niwi@niwi.nz>
|
|
||||||
;; All rights reserved.
|
|
||||||
;;
|
|
||||||
;; Redistribution and use in source and binary forms, with or without
|
|
||||||
;; modification, are permitted provided that the following conditions are met:
|
|
||||||
;;
|
|
||||||
;; * Redistributions of source code must retain the above copyright notice, this
|
|
||||||
;; list of conditions and the following disclaimer.
|
|
||||||
;;
|
|
||||||
;; * Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
;; this list of conditions and the following disclaimer in the documentation
|
|
||||||
;; and/or other materials provided with the distribution.
|
|
||||||
;;
|
|
||||||
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
;; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
;; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
;; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
(ns app.util.sql
|
|
||||||
"A composable sql helpers."
|
|
||||||
(:refer-clojure :exclude [test update set format])
|
|
||||||
(:require [clojure.core :as c]
|
|
||||||
[cuerdas.core :as str]))
|
|
||||||
|
|
||||||
;; --- Low Level Helpers
|
|
||||||
|
|
||||||
(defn raw-expr
|
|
||||||
[m]
|
|
||||||
(cond
|
|
||||||
(string? m)
|
|
||||||
{::type :raw-expr
|
|
||||||
:sql m
|
|
||||||
:params []}
|
|
||||||
|
|
||||||
(vector? m)
|
|
||||||
{::type :raw-expr
|
|
||||||
:sql (first m)
|
|
||||||
:params (vec (rest m))}
|
|
||||||
|
|
||||||
(and (map? m)
|
|
||||||
(= :raw-expr (::type m)))
|
|
||||||
m
|
|
||||||
|
|
||||||
:else
|
|
||||||
(throw (ex-info "unexpected input" {:m m}))))
|
|
||||||
|
|
||||||
(defn alias-expr
|
|
||||||
[m]
|
|
||||||
(cond
|
|
||||||
(string? m)
|
|
||||||
{::type :alias-expr
|
|
||||||
:sql m
|
|
||||||
:alias nil
|
|
||||||
:params []}
|
|
||||||
|
|
||||||
(vector? m)
|
|
||||||
{::type :alias-expr
|
|
||||||
:sql (first m)
|
|
||||||
:alias (second m)
|
|
||||||
:params (vec (drop 2 m))}
|
|
||||||
|
|
||||||
:else
|
|
||||||
(throw (ex-info "unexpected input" {:m m}))))
|
|
||||||
|
|
||||||
;; --- SQL API (Select only)
|
|
||||||
|
|
||||||
(defn from
|
|
||||||
[name]
|
|
||||||
{::type :query
|
|
||||||
::from [(alias-expr name)]
|
|
||||||
::order []
|
|
||||||
::select []
|
|
||||||
::join []
|
|
||||||
::where []})
|
|
||||||
|
|
||||||
(defn select
|
|
||||||
[m & fields]
|
|
||||||
(c/update m ::select into (map alias-expr fields)))
|
|
||||||
|
|
||||||
(defn limit
|
|
||||||
[m n]
|
|
||||||
(assoc m ::limit [(raw-expr ["LIMIT ?" n])]))
|
|
||||||
|
|
||||||
(defn offset
|
|
||||||
[m n]
|
|
||||||
(assoc m ::offset [(raw-expr ["OFFSET ?" n])]))
|
|
||||||
|
|
||||||
(defn order
|
|
||||||
[m e]
|
|
||||||
(c/update m ::order conj (raw-expr e)))
|
|
||||||
|
|
||||||
(defn- join*
|
|
||||||
[m type table condition]
|
|
||||||
(c/update m ::join conj
|
|
||||||
{::type :join-expr
|
|
||||||
:type type
|
|
||||||
:table (alias-expr table)
|
|
||||||
:condition (raw-expr condition)}))
|
|
||||||
|
|
||||||
(defn join
|
|
||||||
[m table condition]
|
|
||||||
(join* m :inner table condition))
|
|
||||||
|
|
||||||
(defn ljoin
|
|
||||||
[m table condition]
|
|
||||||
(join* m :left table condition))
|
|
||||||
|
|
||||||
(defn rjoin
|
|
||||||
[m table condition]
|
|
||||||
(join* m :right table condition))
|
|
||||||
|
|
||||||
(defn where
|
|
||||||
[m & conditions]
|
|
||||||
(->> (filter identity conditions)
|
|
||||||
(reduce #(c/update %1 ::where conj (raw-expr %2)) m)))
|
|
||||||
|
|
||||||
;; --- Formating
|
|
||||||
|
|
||||||
(defmulti format-expr ::type)
|
|
||||||
|
|
||||||
(defmethod format-expr :raw-expr
|
|
||||||
[{:keys [sql params]}]
|
|
||||||
[sql params])
|
|
||||||
|
|
||||||
(defmethod format-expr :alias-expr
|
|
||||||
[{:keys [sql alias params]}]
|
|
||||||
(if alias
|
|
||||||
[(str sql " AS " alias) params]
|
|
||||||
[sql params]))
|
|
||||||
|
|
||||||
(defmethod format-expr :join-expr
|
|
||||||
[{:keys [table type condition]}]
|
|
||||||
(let [[csql cparams] (format-expr condition)
|
|
||||||
[tsql tparams] (format-expr table)
|
|
||||||
prefix (str/upper (name type))]
|
|
||||||
[(str prefix " JOIN " tsql " ON (" csql ")") (into cparams tparams)]))
|
|
||||||
|
|
||||||
(defn- format-exprs
|
|
||||||
([items] (format-exprs items {}))
|
|
||||||
([items {:keys [prefix suffix join-with]
|
|
||||||
:or {prefix ""
|
|
||||||
suffix ""
|
|
||||||
join-with ","}}]
|
|
||||||
(loop [rs []
|
|
||||||
rp []
|
|
||||||
v (first items)
|
|
||||||
n (rest items)]
|
|
||||||
(if v
|
|
||||||
(let [[s p] (format-expr v)]
|
|
||||||
(recur (conj rs s)
|
|
||||||
(into rp p)
|
|
||||||
(first n)
|
|
||||||
(rest n)))
|
|
||||||
(if (empty? rs)
|
|
||||||
["" []]
|
|
||||||
[(str prefix (str/join join-with rs) suffix) rp])))))
|
|
||||||
|
|
||||||
(defn- process-param-tokens
|
|
||||||
[sql]
|
|
||||||
(let [cnt (java.util.concurrent.atomic.AtomicInteger. 1)]
|
|
||||||
(str/replace sql #"\?" (fn [& _args]
|
|
||||||
(str "$" (.getAndIncrement cnt))))))
|
|
||||||
|
|
||||||
(def ^:private select-formatters
|
|
||||||
[#(format-exprs (::select %) {:prefix "SELECT "})
|
|
||||||
#(format-exprs (::from %) {:prefix "FROM "})
|
|
||||||
#(format-exprs (::join %) {:join-with " "})
|
|
||||||
#(format-exprs (::where %) {:prefix "WHERE ("
|
|
||||||
:join-with ") AND ("
|
|
||||||
:suffix ")"})
|
|
||||||
#(format-exprs (::order %) {:prefix "ORDER BY "} )
|
|
||||||
#(format-exprs (::limit %))
|
|
||||||
#(format-exprs (::offset %))])
|
|
||||||
|
|
||||||
(defn- collect
|
|
||||||
[formatters qdata]
|
|
||||||
(loop [sqls []
|
|
||||||
params []
|
|
||||||
f (first formatters)
|
|
||||||
r (rest formatters)]
|
|
||||||
(if (fn? f)
|
|
||||||
(let [[s p] (f qdata)]
|
|
||||||
(recur (conj sqls s)
|
|
||||||
(into params p)
|
|
||||||
(first r)
|
|
||||||
(rest r)))
|
|
||||||
[(str/join " " sqls) params])))
|
|
||||||
|
|
||||||
(defn fmt
|
|
||||||
[qdata]
|
|
||||||
(let [[sql params] (collect select-formatters qdata)]
|
|
||||||
(into [(process-param-tokens sql)] params)))
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.util.template
|
(ns app.util.template
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020-2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.util.time
|
(ns app.util.time
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.util.transit
|
(ns app.util.transit
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) UXBOX Labs SL
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.worker
|
(ns app.worker
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.helpers
|
(ns app.tests.helpers
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-bounces-handling
|
(ns app.tests.test-bounces-handling
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-common-geom
|
(ns app.tests.test-common-geom
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-common-geom-shapes
|
(ns app.tests.test-common-geom-shapes
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-common-pages
|
(ns app.tests.test-common-pages
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-emails
|
(ns app.tests.test-emails
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-services-files
|
(ns app.tests.test-services-files
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2021 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-services-management
|
(ns app.tests.test-services-management
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-services-media
|
(ns app.tests.test-services-media
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-services-profile
|
(ns app.tests.test-services-profile
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-services-projects
|
(ns app.tests.test-services-projects
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-services-teams
|
(ns app.tests.test-services-teams
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-services-viewer
|
(ns app.tests.test-services-viewer
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.tests.test-storage
|
(ns app.tests.test-storage
|
||||||
(:require
|
(:require
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; This Source Code Form is "Incompatible With Secondary Licenses", as
|
;; Copyright (c) UXBOX Labs SL
|
||||||
;; defined by the Mozilla Public License, v. 2.0.
|
|
||||||
;;
|
|
||||||
;; Copyright (c) 2020 UXBOX Labs SL
|
|
||||||
|
|
||||||
(ns app.common.attrs
|
(ns app.common.attrs
|
||||||
(:refer-clojure :exclude [merge]))
|
(:refer-clojure :exclude [merge]))
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; Copyright (c) 2016-2019 Andrey Antukh <niwi@niwi.nz>
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.common.data
|
(ns app.common.data
|
||||||
"Data manipulation and query helper functions."
|
"Data manipulation and query helper functions."
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
;;
|
;;
|
||||||
;; Copyright (c) Andrey Antukh <niwi@niwi.nz>
|
;; Copyright (c) UXBOX Labs SL
|
||||||
|
|
||||||
(ns app.common.exceptions
|
(ns app.common.exceptions
|
||||||
"A helpers for work with exceptions."
|
"A helpers for work with exceptions."
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue